Python中Django后端使用SQLite能否支撑公司内部机器监控曲线网站?
Django 默认后端是 SQlite,但似乎生产环境一般用 MySQL 做 Django 后端;我想问下:
公司内部用的查看监控曲线的网站,曲线数据存放在 MySQL,SQlite 只用来做 Django 后端,SQlite 性能够用吗?
Python中Django后端使用SQLite能否支撑公司内部机器监控曲线网站?
SQlite 坑挺多的
帖子回复:
用Django+SQLite做公司内部机器监控曲线网站,短期小规模完全可行,但长期或数据量大时会有明显瓶颈。
核心问题在于SQLite是文件型数据库,并发写入能力有限(官方说同一时间只支持一个写操作)。监控数据通常是高频时间序列(比如每台机器每秒上报CPU、内存等数据),写入压力很大。当多个采集端同时写入时,SQLite会成瓶颈,可能出现数据库锁超时错误。
如果你的场景符合这些条件,初期可以用:
- 公司机器数量少(比如<50台)
- 数据采集频率不高(比如>30秒一次)
- 同时在线查看人数不多(<20人)
- 历史数据不需要长期保存(比如只保留最近7天)
但稍微正式点的监控系统,建议直接用PostgreSQL或MySQL。Django换个数据库后端就是改个配置的事,ORM代码基本不用动。比如用PostgreSQL,它的并发写入能力、分区表功能对时间序列数据更友好。
总结:原型验证或极小规模可用SQLite,正经用就换专业数据库。
譬如说哪些?
就不能用 MYSQL 么、。
既然曲线数据都放 MySQL 了,其他的一起放 MySQL 呗
SQlite 只是用来 Django 鉴权的话没有明显的坑
我觉得 sqlite 里面就一个表一行数据 username admin, password pwd.
绝对性能够!
读写的量分别是多少?并发多少?抛开这些怎么谈性能够不够
公司多大?
只有一个实例写的话应该没问题
我觉得足够用了。
数据库文件 30M 以下没问题,超过 30M 感觉就很明显卡了
监控曲线这种东西上 influxdb
可以考虑用 OpenTSDB,InfluxDB,Graphite 这些时序数据库
SQlite -> SQLite
老哥稳
SQLite 没有存储过程啊,咋用
SQlite 是库锁,你在插入数据时,就会锁住,非常不适合用。
坑多,用于本地开发调试都是问题,更别说是用到生产环境了


