我写了一个小程序来测试我的服务器的性能。该程序每秒向服务器发送 100 个请求,并测量接收答案所需的时间。测试程序是用 Java 编写的,每个请求都由一个单独的线程处理。请求已编号。该数字由服务器退回,以便客户端程序知道哪个请求得到了响应。我得到的结果到处都是问题。有时回复需要一秒钟,有时需要 3 秒钟,有时需要 10 秒钟。我无法理解它。为什么会这样?如果我做错了什么,那么测试我的服务器的更好方法是什么?
编辑了解更多信息。该服务器是一个 Amazon Elastic Beanstalk 应用程序。它在 5 个 EC2 实例的集群上运行。它运行一个简单的程序,在发送包含它在请求中收到的数量的响应之前执行一些循环。客户端在发出每个请求时对其进行计时,并将其与收到相应回复所花费的时间进行比较。
编辑 2 测试运行 30 分钟,输出是所有时间的平均值。我在请求之间得到了截然不同的结果,但个人平均值之间的差异也很大。