怎样写并发的测试程序

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

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

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

FFIVE
浏览 602回答 1
1回答

幕布斯7119047

通过jmeter、loadrunner这样的工具压测会比较方便,不过Executors.newScheduledThreadPool(1000)也可以,而且更容易定制自己的测试逻辑。如果Web程序的部署架构比较复杂(例如有流量保护、负载均衡等),最好是在多台机器上跑测试(这些机器也最好是通过公网来访问),来模拟真实环境的情况。 关键是,测试期间要监控Web程序的性能指标,例如线程数(注意是被压测的Web程序的线程数,而不是测试程序的线程数)、连接数(可以用netstat去看)、CPU、内存、每个请求的响应时间等等。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java