小编最近接收了一个小项目,目前还处理萌芽阶段,日活2w用户。
服务器配置,2台负载网站,一台分发网站,一台数据库。配置32核,32G,50M带宽。看着配置完全可以满足网站需求,但是巧的事情发生了,网站一台服务器时候还不是很卡,但是增加了两台负载服务器,居然卡了。接下来就来分享怎么让他变快的!(当然每个时间段都有抢购任务的情况,这个单说)
首先从网站配置来说前面说了完全能够满足,但是网站很卡的原因是为什么呢?
(1)数据库表设计的有问题
(2)数据库没有加索引(分析得出)
以上两点就导致了问题的出现,并且导致数据库cpu飙升
(1解决方案以及排错方法)有一个关键表的引擎是myisam,每次有更新操作都会出现锁表的情况,这就导致了在首页用到这个表的时候,首页打开很慢
分析方法:
登陆mysql服务端,执行show processlist;
查看所有连接
现象sql执行状态为:sending data,copying to tmp table,copying to tmp table on disk,sorting result,using filesort,locked;就有问题了。
(2解决方案以及排错方法)同样执行以上操作,出现了很多sending data
sending data:sql正从表中查询数据,如果查询条件没有适当索引,会导致sql执行时间过长
之后分析得出添加了索引,网站速度提升了一个档次