我公司根据国内某运营商的网站建设要求满足千万级别的用户级文章系统负载要求,设计PHP+MYSQL+Sphinx单表千万级数据压力测试,经过充分测试已通过要求。
为充分测试程序的负载能力,所有文章及分页均没有静态化,文章的表未进行水平分表,但根据大字段分离原则,将内容字段进行垂直拆分到新表中,
数据浏览问题:
此次测试中模拟单表文章1000多万,按照常规的方法,1000多万的文章列表分页过程中,越到后速度越慢,一般约到100万条记录之后,翻页一次需要约4~8秒,本次测试通过索引优化、SQL查询优化,在1000万的数据量下,每页10篇,分为100万页,即使翻到最后一页,平均用时也在0.05秒之内。
数据检索:
目前使用PHP环境下的网站,均采用主流的Sphinx软件作为搜索引擎,因此本次测试使用Sphinx结合分词系统方式进行全文检索。由于Sphinx其优秀的性能,可伸缩性的设计、可分布式部署等特点,网站可根据用户搜索量等情况灵活调整各项搜索参数,以达到最优化。本次测试环境中文章系统达1000万条记录,占用空间3.8G。在如此小的一个微型VPS上仍表现出了强悍的搜索能力。稍后为大家提供相关测试报告。

