我用的100个用户并发,1核 内存1G 1M带宽,测试报告如下,这个性能怎么样呀?
我就是很想知道,一般的php、java、golang、python…… 这些语言写的、用不用memcache、……这样的服务平均qps应该达到多少才叫做性能高呢?
我用的100个用户并发,1核 内存1G 1M带宽,测试报告如下,这个性能怎么样呀?
我就是很想知道,一般的php、java、golang、python…… 这些语言写的、用不用memcache、……这样的服务平均qps应该达到多少才叫做性能高呢?
2 回答2.8k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1k 阅读
在不考虑“可并发IO类型的等待时间”的情况下(比如你要远程调用另外一个服务,这个服务要10秒才返回结果,这会影响你的平均每个请求的处理时间,但是等待响应的这段时间 CPU 是空出来的,可以继续处理请求),
平均每个请求的处理时间大概在 100ms 内,算 100ms 吧。你 1 核的机器,每秒就是处理 10 个请求。不作特殊的优化,一般做到这种程度就可以了。
如果你能把单个请求的处理时间做到 20ms ,那么你 1 核每秒就能处理 50 个请求。(这在直接命中缓存的情况下,可能可以达到)
用不用 memcache ,要看你具体场景下,对性能的要求,及可以使用的计算资源。用 memcache 是一种办法,加机器也是一种办法,甚至是改需求,它们只是解决问题的可选方法而已。
“性能高”也要看业务场景,拿 segmentfault 当前这个页面来说,一个请求的处理时间平均能做到 50ms 就不错了。但是如果是一些数据计算类的服务,1个核,1000万数据聚合指标一个请求平均时间能稳定到 2 秒就谢天谢地了。
最后,一般偏应用的服务,内存,带宽,这些资源都用不完的。