Q'Say · Q‘OT

堆硬件才是最终解决方案

呃!!!这标题似乎有点蛋疼哈。

是这么来的,近期做了个微信投票活动,这种活动做了不爱做了都。可是意外就是这么发生的。

之前服务器是阿里云上双核 4G 的单台主机,Nginx+php5.4+XCache+zend guard loader,静态资源放在 OSS 用的 CDN 加速,数据库用的 RDS 最小配置的,之前一直没有问题,最多活动人数多的时候加点带宽。

可是昨天,就在昨天,早上 7 点被告警吵醒了,先是 CPU 达到了 100%,接着 Mysql 连接数也满了。

数据库里有大量的 sleep 进程存在,怀疑是 mysql 的连接数不够导致的,换了个 1200 连接数的 RDS,结果连接数稳定在 200 左右,访问还是巨慢。因为使用的投票模块不是自己写的,而且又被加密了,没法看。之前活动的时候代码是没有加密的,所以怀疑是不是源码加解密在 nginx 下有问题。于是换成 Apache+php5.4+zend guard loader 方案,访问速度好多了,可是高峰的时候还是很慢。开始纠结是直接升级服务器还是使用负载均衡。

经过一番成本对比(阿里云的 ECS 除了添加带宽可以按天选,其他都是直接到到期时间,蛋疼,成本巨高),最终决定使用负载均衡方案。这里面又是一个坑,一会另开篇写。添加相同配置的主机后,访问速度明显提升。。。说明堆硬件才是最终解决方案嘛。。。哪里来那么多单机服务器优化的事。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注