1、性能测试环境介绍
  性能测试环境与日常的功能测试环境需求不一样,道理很简单,如果有其他东西影响这个环境,那么出来的数据自然不准确了,这样没有什么价值了,好比生产药要保持在一个无菌的环境中是一样的道理。
  2、现有环境分析
  2.1 开发环境
  不适合,你懂得.......
  2.2 日常测试环境
  可以,但根据以往的经验,该环境配置等都与真实环境相差很多,大部分都是虚机虚出来的,做出来的性能数据没有什么参考性,数据基本不会出现大的波动,发现瓶颈的概率比较低
  2.3 线上真实环境
  可以,好处是比较容易发现问题,但缺点也显而易见,比较繁琐,之前做过,需要将服务摘出来,还需要开ssh账号等,后期还需要对产生的垃圾数据做清理,尤其是涉及到钱的,还要平帐、超级的麻烦,而且有风险
  3、建议解决方案
  通过上述分析,好的方案是新搭建一套性能测试的环境,方便性能测试、调优。具体的描述如下:
  3.1 Server
  要与真实环境配置尽可能一致,这里需要注意,一致不是说机器数量要一致,重点是架构、硬件配置、服务配置、版本等要一致,简单来说是真实环境的一个迷你版本。
  3.2 Cache
  尤其是对于一些大数据量的读操作,有无缓存对性能影响较大
  3.3 Db
  配置也需要与线上的尽量一致,至于基础数据等,可以根据实际测试情况从线上导入或造一些测试数据
  3.4 Network
  尽量要避免网络的瓶颈啊,不要做限制,如果是有什么限制了,那么网络这块出现瓶颈了,比较难模拟出场景中的实际问题。
  另外,还需考虑大压力情况下对其他工作人员的影响,所以要不用单独的交换机,要不在下班后做
  3.5 程序
  保持与线上版本一致,无功能bug,方便发现和定位问题。
  3.6 压力机
  应该与server在同一网段,以保证压力流的畅通。如果server在外网,压力机在内网,那么两种解决方案,一个是保证出口带宽足够;另一个当然是把压力机弄到外网与server同一网段