既然SQLite不支持并发,为什么又说能支持10W次的天访问量?

sendouh 发布于 2015/10/29 22:39
阅读 1K+
收藏 1

今天刚刚接触SQLite,看了下官方文档,“ gets fewer than 100K hits/day should work fine with SQLite” ,然后又说 “Many concurrent writers? → choose client/server”  

难道10W级别的日访问量不需要并发吗? 就算只有读操作,光是登陆这一下,也要并发写数据库的吧,会不会自相矛盾了?

加载中
0
景愿
景愿

平均 100000/24/3600=1.157407407407407 / s

这处理速度你觉得如何?

0
eechen
eechen
SQLite是基于文件系统的锁机制,所以不适合并发写入的场景,但是并发读的速度绝对是超强的。如果你把SQLite放到Linux内存文件系统/run/shm/app/data.sqlite,那并发写的速度也会快得多,完全就是一个内存级的SQL数据库。
0
mallon
mallon

引用来自“景愿”的评论

平均 100000/24/3600=1.157407407407407 / s

这处理速度你觉得如何?

正解
0
王涛
王涛

引用来自“景愿”的评论

平均 100000/24/3600=1.157407407407407 / s

这处理速度你觉得如何?

引用来自“Mallon”的评论

正解
正解+1
0
s
sendouh

引用来自“景愿”的评论

平均 100000/24/3600=1.157407407407407 / s

这处理速度你觉得如何?

这个只是平均的处理速度吧。高峰期的时候,也会有并发写的时候吧?比如说同时有10个人一起登陆,向数据库里面同时写入登陆记录,这样子就要开线程,队列排序写了吧???

我猜想是这样的。没用SQLite开发过实际网站。望指教

0
s
sendouh

引用来自“eechen”的评论

SQLite是基于文件系统的锁机制,所以不适合并发写入的场景,但是并发读的速度绝对是超强的。如果你把SQLite放到Linux内存文件系统/run/shm/app/data.sqlite,那并发写的速度也会快得多,完全就是一个内存级的SQL数据库。
就是说把.sqlite放到内存中,然后应用层做好写的同步处理,这样子并发写数据库的速度能应付大部分的网站?
eechen
eechen
存在大量并发写入的应用不建议使用SQLite,还是用自带缓存机制,支持Linux AIO异步,多线程架构的MySQL吧.
返回顶部
顶部