java - 在不同负载的机器上运行性能测试

标签 java performance testing

<分区>

我的 JUnit 套件中有一个测试警告我性能下降。测试按照以下思路进行:通常,我每秒可以运行 100,000 次操作,但构建服务器上的负载可能会有所不同,所以我对任何超过 25,000 次的操作都很满意。

今天,构建以 24'300 ops/s 失败。当我使用 Java 7(rc1,调试风格)运行测试时,我得到了 5'000 ops/s。前者可以,后者是测试必须捕获的红旗。

现在简单的解决方案是将我的目标降低到 20'000,但我想知道如果机器可以承受负载,是否有更好的方法来定义性能测试的“安全范围”。

最佳答案

我会不止一次地运行测试(例如,取 11 个结果并检查中位数,这会忽略性能的突然下降),或者运行更长的时间,这样您可以获得更一致的结果。如果无法控制服务器的负载,可以在unix boxes上获取负载,并在确定合理范围时考虑到这一点。

关于java - 在不同负载的机器上运行性能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066729/

相关文章:

java - Activity 不会实例化

java - 创建随机 4 字节数

mysql - 使用复合索引优化 MySQL 查询

MySQL批量插入多个表

testing - 让 JUnit 失败的测试实际上并不运行断言

PHP - 数据访问并发测试

java - 在 Spring Boot 中使用重定向

python - sparse_hash_map 对于特定数据非常慢

php - 预览 PHP 中的电子邮件开发

java - 在对象数组上设置监听器