最近帮布衣生活网www.81355.net做策划,功能设计完成了,在普通的日流量为800IP情况下基本上就没有发现任何问题,但有次在做压力测试时候,从外部购买了些流量,并且设计了个发散页进行测试,在15分钟保持2000IP的情况下,服务器CPU一直保持在99%状态(MYSQL占用),服务器处于死机似态。
后来通过不断减少访问IP测试,发现即使是并发有5个IP对首页的访问也会如此。按道理服务器配置不差P4 3.0双核,4G内存,硬盘阵列,系统是LINUX,JBOSS4.0,目前数据量也就几十张表,每个表1-2万条数据,,到底问题出在哪里?分析后从MYSQL的优化入手,修改my.cnfg的各种模式和参数企图能达到优化的目的,但结果表现毫无变化。最后在查数据库表时候发现,开发人员贪图方便,只在数据表的增量数据字段设置了索引。这个问题令我想起来,几年前在C/S架构下的编程时候出现过的类似问题,在几十万条数据的时候进行一个模式计算时候系统死机崩溃的问题。当时就是针对这个大数据量的计算特征设置了关键字而解决的。
有了这个思路就好办了,让开发人员对这些表,根据页面访问的需要建立了不同的索引,一个上百条建立索引的命令的文件形成后传送到服务器上,通过mysql 命令平台下执行“ source index.sql ”瞬间完成了。再回头看简直是令人不可思意的是top命令下的CPU占用率99%即刻消失,成了正常的3-20%。这个时候我们的IP流量还是保持在原来水平发散抓页。(责任编辑:admin02)