自己实现的附带文件的压力测试方法

发表于:2014-7-22 11:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:super-d2    来源:51Testing软件测试网采编

  测试结果,如图所示:
  我们程序的逻辑是每请求1000次,打印一次;
  上面的结果翻译的结果就是:
  1----请求1000次,耗费时间为3727毫秒;
  1----请求2000次,耗费时间为6253毫秒;
  1----请求3000次,耗费时间为8713毫秒;
  1----请求4000次,耗费时间为11028毫秒;
  1----请求5000次,耗费时间为13340毫秒;
  …
  依据上面的结果,我们可以做个预估:每秒可以承受的4000次请求;也就是说我们可以大大预估一天有3千万次请求数,这个程序都是可以应付对的;
  但是上面的结论并没说明文件,考虑到并发用户的情况,好!那我们分1个并发,10个并发,100个并发,1000个并发,(我的并发是以线程来区分级别,估计大多数测试工具也是以这样的一种方式去区分,备注:线程并非同一时刻,据本人了解,线程的区分度大概纳秒级别的,还是在同一个进程里面去处理;而进程是可以利用上多核CPU的,举例:4个核的CPU,开4个进程是可以时刻并行的运行,也就是说这4个进程是同一时刻在跑。)
  10线程并发:
  也就是说10个并非,每秒执行9千+;
  100个线程并非:
  也就是说100并非,每秒执行1.5万次;
  1000个并非:
  已经挂掉了,也就是说这个小的后端程序能够承受的并非级别是100~1000之间(一台主机的情况,如果是集群的话,100万台服务器的话,相当于并发在1亿~10亿之间,如果按照业界传闻facebook的几十万台,Google级百万台,在还没考虑主机CPU、内存的这个测试结果是非常可观,目前主机是双核2G内存的主机);
  测试方法就是:java -jar errlogClient.jar path url n c
  各个参数的标识:path = 目标文件路径 ; url = 请求的地址 ; n = 线程总数 ; c = 每个线程调用请求的次数(备注目前上面的程序我是做循环跑的,所以暂时没用上,大家觉得如果需要用上的话可以改改上面的程序)
  这个工具如果大家觉得还凑合用的话就尽管拿去用吧~
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号