線上有一個(gè)PHP腳本用于連接一組socket服務(wù)查詢數(shù)據(jù),這個(gè)腳本每分鐘被運(yùn)行一次。運(yùn)行一段時(shí)間后在日志中發(fā)現(xiàn)少量的EINTR的錯(cuò)誤,主要是執(zhí)行到 socket_read 引發(fā)的。查閱資料后了解到對(duì)Socket讀這類的操作會(huì)調(diào)用Slow System Call,當(dāng)內(nèi)核執(zhí)行Slow System Call時(shí),阻塞狀態(tài)時(shí)進(jìn)程收到信號(hào),會(huì)造成這個(gè)Slow System Call被打斷,由此觸發(fā)了EINTR錯(cuò)誤。=====系統(tǒng)環(huán)境:OS:centos 5.4HTTP 服務(wù)器:Apache,worker 模式,即多進(jìn)程多線程PHP 以模塊方式運(yùn)行,版本 5.3.22懷疑是Apache的 worker 達(dá)到最大請(qǐng)求數(shù),銷毀重建引起的,可能嗎?有可能是 Socket 服務(wù)端的問(wèn)題嗎?
- 1 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報(bào)
0/150
提交
取消