java - 怎样写并发的测试程序

查看:112
本文介绍了java - 怎样写并发的测试程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题:我现在有一个任务,去测试一个web程序性的性能,需要实现极限测试,也就是模拟多人在线操作,大概要求是2000人同时操作。

思路:我现在是通过java中的concurrent包里的ExecutorService executor = Executors.newScheduledThreadPool(1000);来实现的,模拟同时有1000个人进行发送数据。但是同事说这个并不是真正意义上的并发测试,也只是一个一个发送请求。

请问:更合适的并发测试程序吗,要求是不能使用测试软件,类似于jmeter这样的。

解决方案

通过jmeter、loadrunner这样的工具压测会比较方便,不过Executors.newScheduledThreadPool(1000)也可以,而且更容易定制自己的测试逻辑。如果Web程序的部署架构比较复杂(例如有流量保护、负载均衡等),最好是在多台机器上跑测试(这些机器也最好是通过公网来访问),来模拟真实环境的情况。

关键是,测试期间要监控Web程序的性能指标,例如线程数(注意是被压测的Web程序的线程数,而不是测试程序的线程数)、连接数(可以用netstat去看)、CPU、内存、每个请求的响应时间等等。

这篇关于java - 怎样写并发的测试程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆