记录一次处理用户站点卡顿的问题

10个月前 (12-14)TwoNav43

今天遇到一个用户反馈站点卡顿的问题

访问用户的域名 打开调试工具 切换到网络

发现是主页加载时间慢、大概2-3秒

但是其他静态资源又是正常的

可以排除服务器网络问题

猜测可能是某些插件或者是防火墙导致的

到这里都是猜测、因为已知的情况太少了



远程用户桌面进入宝塔面板

查了已安装的东西、简简单单都是基础的东西

检查程序代码、未发现被篡改

检查程序的配置文件、用的本地SQLite数据库、排除远程数据导致的问题

检查服务器性能 (宝塔跑分)、各项性能正常

进入程序后台发现后台加载也慢

调试工具>网络>发现在获取统计信息很慢

回到宝塔面板进入程序数据目录

发现数据库文件很大、问用户为什么这么大、用户也不知道

回到程序后台、检查链接列表、文章、用户、都没什么数据会占用这么大的

打开数据库、发现统计表数据量非常大、通常只有被攻击的时候才会有这么大量的数据

于是询问用户是否被攻击过、用户回复确实被攻击过十来天、那就不奇怪了

知道问题的原因了就好解决问题了




打开程序的ATool工具箱、清除统计数据后就不卡了

但由于SQLite的机制、删除数据并不会自动回收空间

所以数据库文件看起来还是那么大、

这个也简单、进入数据库执行vacuum命令

过一会看到数据库大小恢复到正常大小了

至此问题已经解决了




访问主页慢、因为访问的时候会记录统计信息、数据过多导致查询和记录慢

后台概要页慢、因为要获取统计信息、由于数据过多、导致统计非常慢