java - 怎样写并发的测试程序
本文介绍了java - 怎样写并发的测试程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
问题:我现在有一个任务,去测试一个web程序性的性能,需要实现极限测试,也就是模拟多人在线操作,大概要求是2000人同时操作。
思路:我现在是通过java中的concurrent包里的ExecutorService executor = Executors.newScheduledThreadPool(1000);
来实现的,模拟同时有1000个人进行发送数据。但是同事说这个并不是真正意义上的并发测试,也只是一个一个发送请求。
请问:更合适的并发测试程序吗,要求是不能使用测试软件,类似于jmeter这样的。
解决方案
通过jmeter、loadrunner这样的工具压测会比较方便,不过Executors.newScheduledThreadPool(1000)
也可以,而且更容易定制自己的测试逻辑。如果Web程序的部署架构比较复杂(例如有流量保护、负载均衡等),最好是在多台机器上跑测试(这些机器也最好是通过公网来访问),来模拟真实环境的情况。
关键是,测试期间要监控Web程序的性能指标,例如线程数(注意是被压测的Web程序的线程数,而不是测试程序的线程数)、连接数(可以用netstat
去看)、CPU、内存、每个请求的响应时间等等。
这篇关于java - 怎样写并发的测试程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文