我们在生产中运行 rails 应用程序(单主节点),其中 nginx 为网络, puma 为机架服务器并且想要计算否请求我们的服务器可以处理。我知道有像ApacheBench这样的工具可以像
那样工作ab -k -c 350 -n 20000 example.com
它需要很少的参数,如上面的命令350同时连接,直到2万个请求。此方法可以为单个URL提供每秒的req计数。但是,我感兴趣的是确定为动态内容提供动态系统的每秒请求数。
是否有任何内置工具可以每秒向我提供请求。
环顾四周(手动计算)
我已经安装了分析工具rorvswild,它与NewRelic非常相似。它给了我在rails应用程序中的ruby中的每个路由的响应时间。它还给出了所有路线的平均响应时间, 250ms 如果系统的平均响应时间 T 我可以计算出系统可以处理的没有1000 / T?
此外,我在NGINX后面运行puma,这是多线程并运行5个线程,所以最终
每秒请求数= thread_count *(1000 / T)
在我的情况下,thread_count = 5
非常感谢您的阅读,您的建议将非常有用。