問(wèn)題描述
最近有臺(tái)服務(wù)器偶爾會(huì)報(bào)502錯(cuò)誤,雖然量不多,每天就幾十個(gè),但是也必須得找到原因,避免讓小問(wèn)題變成大問(wèn)題。
排查過(guò)程
502錯(cuò)誤的原因,一般是對(duì)用戶(hù)訪(fǎng)問(wèn)請(qǐng)求的響應(yīng)超時(shí)造成的,一開(kāi)始以為是請(qǐng)求量太大,超過(guò)了服務(wù)器目前的負(fù)載,但是查看了zabbix監(jiān)控,發(fā)現(xiàn)問(wèn)題時(shí)段的負(fù)載、內(nèi)存、IO都沒(méi)有非常明顯的變化,服務(wù)器并沒(méi)有達(dá)到繁忙的狀態(tài);查看這個(gè)時(shí)段請(qǐng)求的并發(fā)數(shù),也不高。
然后查看nginx錯(cuò)誤日志,發(fā)現(xiàn)該時(shí)段有如下報(bào)錯(cuò):
connect() to unix:/dev/shm/phpfpm.socket failed (11: Resource temporarily unavailable) while connecting to upstream
說(shuō)明還是php-fpm進(jìn)程不足導(dǎo)致的。
然后再觀(guān)察問(wèn)題時(shí)段的php-fpm進(jìn)程數(shù)變化情況: