背景:对网站新开发的登录功能做一个性能测试,看处理能力如何?
网站部署:最前面部署负载均衡机器,后面挂17台web server机,假设varnish机器做静态缓存,登录的页面组件就放入了varnish中缓存
开发语言:PHP,webserver:apache,负载均衡:nginx和一个自研的类似LVS的软负载
基本情况就这样,争议点:
第一种声音:这次登录就只是对login\go这个cgi进行了重构,其他cgi都没有修改,登录页面又是用varnish缓存的,压测没意义,所以直接只压测这个cgi就可以了
另一种声音:既然要做性能测试,那么就应该遵循性能测试的最根本,最根本关键点,模拟真实的用户请求,观察对系统造成的性能压力处理能力。既然是这样,就不能只压测登录整个过程中的一个cgi文件,应该模拟用户登录的整个过程,这样也能避免登录这条路径上,如果短板不是login\do这个cgi而是另一处,那么在只压测这一个cgi的时候是体现不出来的。
朋友,如果是您,您会怎么看待这个看似需求很简单的压测任务呢?是第一种声音还是第二种呢?还是有第三种,,,,?
至于我,我个人的意见是:性能测试需以模拟真实用户行为为前提,所以不要只压测一个cgi,应该把用户登录过程中,整个的cgi都录制下来,进行压测,同时不仅仅包括cgi文件,登录中的已设置缓存的文件内容也需要进行压测,验证缓存策略的有效性。