系統架構:域名--F5--nginx集群--服務
現象:web頁面隨機性的時好時壞,壞的時候會報500內部服務錯誤或者404頁面丟失。
定位:代碼、配置、網絡都檢查了,沒問題,最后發現訪問域名就會報錯,直接訪問內網服務器地址就沒問題,懷疑是nginx的問題。查看nginx的日志,發現有報錯:worker_connections are not enough while connecting to upstream。
解決:nginx主配置文件nginx.conf中默認的worker_connections102400,問題解決。
原因:服務的連接數超過了nginx設置的最大連接數。
疑問:檢查了nginx的活躍連接數,不多,不超過1024,但是worker_connections設置1024時候,web頁面會報錯。懷疑可能web頁面在點擊的時候會在瞬時向后台頻繁請求頁面,導致nginx連接數瞬時增加。后續有精力再研究吧,頭疼。