[英]Sockets taking too much time to connect after sometime on AWS EC2 (t3a.small)
我已经在 Amazon EC2 t3a.small
实例上部署了ws
sockets。 当我启动/重新启动 sockets 时,它可以正常工作一段时间。 但是几分钟后,当我尝试连接到 sockets 时,连接需要一分钟以上,有时会触发超时。
所以我将实例更改为t3a.medium
,现在它运行良好。 即使在几个小时后,我也没有看到 sockets 的连接/超时有任何延迟。
当我检查这两个实例的性能时,RAM/CAPU 的使用并没有那么多。 RAM 使用率约为 300mb,两个内核的 CPU 使用率也没有达到 100%。 所以我不确定可能是什么问题。
我不认为更新实例类型是正确且可扩展的解决方案,随着流量的增加,我认为我会面临同样的问题?
我想知道什么是瓶颈以及我需要在 EC2 中设置哪些可扩展的配置?
更新:
似乎实例大小不是问题。 即使将其更改为 t3a.medium 后,它也会在一段时间后变慢。 所以弄清楚可能是什么问题。
显然 Apache2 设置存在问题,该设置允许最多 150 个并发连接。
所以我调整了 Apache httpd 以允许更多的并发连接。
<IfModule mpm_event_module>
StartServers 10
MinSpareThreads 25
MaxSpareThreads 750
ThreadLimit 1000
ThreadsPerChild 750
# MaxRequestWorkers aka MaxClients => ServerLimit *ThreadsPerChild
MaxRequestWorkers 15000
MaxConnectionsPerChild 0
ServerLimit 20
ThreadStackSize 524288
</IfModule>
请注意,您可能还需要更改操作系统的最大打开文件数。 默认情况下,它在 Ubuntu 中为 1024。 将其设置为 MAX (65536)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.