记录一次处理用户站点卡顿的问题
今天遇到一个用户反馈站点卡顿的问题
访问用户的域名 打开调试工具 切换到网络
发现是主页加载时间慢、大概2-3秒
但是其他静态资源又是正常的
可以排除服务器网络问题
猜测可能是某些插件或者是防火墙导致的
到这里都是猜测、因为已知的情况太少了
远程用户桌面进入宝塔面板
查了已安装的东西、简简单单都是基础的东西
检查程序代码、未发现被篡改
检查程序的配置文件、用的本地SQLite数据库、排除远程数据导致的问题
检查服务器性能 (宝塔跑分)、各项性能正常
进入程序后台发现后台加载也慢
调试工具>网络>发现在获取统计信息很慢
回到宝塔面板进入程序数据目录
发现数据库文件很大、问用户为什么这么大、用户也不知道
回到程序后台、检查链接列表、文章、用户、都没什么数据会占用这么大的
打开数据库、发现统计表数据量非常大、通常只有被攻击的时候才会有这么大量的数据
于是询问用户是否被攻击过、用户回复确实被攻击过十来天、那就不奇怪了
知道问题的原因了就好解决问题了
打开程序的ATool工具箱、清除统计数据后就不卡了
但由于SQLite的机制、删除数据并不会自动回收空间
所以数据库文件看起来还是那么大、
这个也简单、进入数据库执行vacuum命令
过一会看到数据库大小恢复到正常大小了
至此问题已经解决了
访问主页慢、因为访问的时候会记录统计信息、数据过多导致查询和记录慢
后台概要页慢、因为要获取统计信息、由于数据过多、导致统计非常慢
