[英]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.