Caching 当我在jmeter上对多达10000个用户进行负载测试时,命中缓存服务器(nginx/squid)的加载时间比直接命中Glassfish要长。为什么?

Caching 当我在jmeter上对多达10000个用户进行负载测试时,命中缓存服务器(nginx/squid)的加载时间比直接命中Glassfish要长。为什么?,caching,nginx,glassfish,jmeter,squid,Caching,Nginx,Glassfish,Jmeter,Squid,我在Glassfish上托管了一个web服务,每天可能会被点击一百万次,所以我想到使用缓存服务器反向代理来减少Glassfish上的负载 我尝试实现它们并进行了负载测试 直接在玻璃鱼上, 使用nginx, 用鱿鱼。 结果并不像我预期的那样。GF、Nginx和Squid的10000个用户的平均加载时间分别为168ms、245ms和198ms,与我想象的相反。 该响应包含缓存控制头,从访问日志中可以看出,每次命中nginx或squid时,该响应都是命中的 你是如何在每天一百万次点击的基础上获得100

我在Glassfish上托管了一个web服务,每天可能会被点击一百万次,所以我想到使用缓存服务器反向代理来减少Glassfish上的负载

我尝试实现它们并进行了负载测试

直接在玻璃鱼上, 使用nginx, 用鱿鱼。 结果并不像我预期的那样。GF、Nginx和Squid的10000个用户的平均加载时间分别为168ms、245ms和198ms,与我想象的相反。
该响应包含缓存控制头,从访问日志中可以看出,每次命中nginx或squid时,该响应都是命中的

你是如何在每天一百万次点击的基础上获得10000个用户的?这至少高出一个数量级,甚至可能更高。我甚至不确定我是否会相信这个级别的数字,因为您可能会遇到来自测试机器的各种TCP拥塞/过载。不,我在一个具有巨大带宽且可以在没有任何TCP拥塞的情况下运行的服务器上进行了测试。从逻辑上讲,即使是10000美元,我也应该只买玻璃鱼>鱿鱼/清漆,对吗?因为每次它点击glassfish时,它都有一个数据库调用,但是squid/varnish直接从缓存/磁盘提供服务。如果运行的请求数量要少得多,您会得到什么数字?您确定您的服务器配置得到了合理优化吗?订单:GF、Nginx、Squid,适用于1000个用户96ms、115ms、89ms;适用于5000个用户121ms、207ms、179ms