我一直在尝试 blitz.io 我的站点、AB 等,试图了解有多少个并发用户可以使用我的站点。
在我自己的盒子里:
并发性 500,10000 次点击,每秒 3k 个请求。传输速率:130,339 KB/秒。
从我的盒子外面看:
并发性 500,10000 次点击我每秒收到大约 150-200 个请求。传输速率:5,543 KB/秒。
Blitz.io
使用 blitz.io,当并发量开始超过 200 时,我每秒的请求数上限为 200 个。
因此,随着并发请求越来越多,我的应用程序每秒仍返回 200 个响应。
这是否意味着网络吞吐量限制了我的 RPS 到外部客户端?因为我的印象是,如果客户端能够足够快地下载(例如 localhost),我的服务器能够每秒响应 3000 次点击。
我已经尝试过 nginx 工作线程数和连接数,但外部调用的限制是 200 RPS。
我该怎么做才能提供更多此类页面?
我如何知道网络瓶颈是出在我的服务器上,还是出在调用者身上?
由于我缺乏这方面的经验,我根本不知道我的服务器是否存在网络带宽瓶颈,除非我设置另外 3 个具有负载平衡的 nginx 服务器。
是否可以正确地假设,因为我可以在内部获得 100mb/s,所以如果外部点击(1000 个用户)需要 100mb/s,那么服务器将能够将其输出到世界各地?
答案1
这可能只是因为数据中心之间的带宽和延迟较差,但在我看来,这可能是其中一个数据中心边界的速率限制。可能是其中任何一个,但如果是这种情况,则更有可能是入站数据中心。
负载测试与试图实施 DOS/DDOS 的脚本小子非常相似。您的托管服务提供商可能正在试图保护您。