最近在做一个网站的性能优化,主要针对高并发和大数据两个方面,总结了一下自己收获的经验。
1、由粗到细:如果是刚刚完成的代码,建议先逐个测试每个功能。以一个功能为例,先把这个功能分为几个步骤,单独测试每个步骤。看看每一步的耗时,这个步骤的耗时是否跟他处理的业务正相关。这样的测试可以逐步细分,找到具体影响效率的函数或者对象。
2、由小到大:如果这个功能每个步骤都没有问题,可以加大数据量进行测试。举个例子,对比分析多个用户的投标文件,先分析一下这个功能在真实的业务场景中,可能分析的最大用户数,每个用户文件的最大大小。测试的例子既不能无限大,也不能非常小,一定要符合业务场景,进行测试。如果测试通过,可以适当加多加大测试用例。
3、由少到多:如果上述测试都没有问题,就可以进行并发测试了。可以使用BadBoy和JMeter或者Loadrunner 录制脚本,测试访问的时间。看看多用户并发的瓶颈在什么地方,进一步对代码进行优化。