SQLite的并发问题

  今天的压测过程中,发现web应用的并发数竟然只有可笑的五个。因为之前,我不曾对压测有过了解,以为并发也就几十个,当我问过所有的老前辈以后。发现,5个并发是少的可笑之极。我开始一直以为是代码的问题,只是源于对自己的能力的怀疑,毕竟数据库怎么会有这么大的缺陷。

  我花费了两三个小时的时间,修改了多次的代码依然没有出现想要的结果。用jmeter压测的结果,让人寒心。好的时候,六七个,平均四五个。我开始在Idea中调试代码,和数据库连接池配置,然后无论怎么样,都会出现 SQLite_BUSY 问题。我修改了几个小时的数据库连接池配置,从几个线程到几百个,试了个遍,依然无法解决这个问题。Google,百度。所有的现象表明,SQLite好像在并发处理上存在线程占用以及文件锁问题,且到现在没有好的方案去解决。

  为了对比SQLite与MySQL,我最后几次使用了MySQL进行压测,发现MySQL成功率在百分之百,而SQLite在百分之四左右。伤心至极。

  最后的最后,要慎用SQLite,在需要高并发的情况下。

一个有关“SQLite的并发问题”的想法

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.