請教下 單機場景, Gateway的進程數(shù)設(shè)置多了有什么作用嗎?只設(shè)置1個會有問題嘛 ?
BusinsessWorker的進程數(shù)只設(shè)置1個會有什么問題嗎?比如設(shè)置4個進程數(shù) workerman會自動選一個進程處理業(yè)務嗎?
沒問題,但是同一時間 一個進程只能處理一個 客戶端發(fā)過來的數(shù)據(jù),
進程=軟件
多進程,就是你多開了幾個qq軟件。
因為 php好像沒成熟的線程,所以只能用多進程曲線救國,原本的軟件是 開一個軟件(進程),然后很多子線程處理任務。
不要擔心 一個進程只能有一個長連接,因為 連接是保存在內(nèi)存中的,以及event 網(wǎng)絡(luò)事件庫觸發(fā)的,不過 你要是在代碼里寫了阻塞的東東,那么在本次數(shù)據(jù)處理完成之前,其他的client請求都是在等待的。
怎么解決 所有進程都繁忙,client阻塞的問題呢,這里建議了解下yield用生成器配合 處理阻塞的IO
比如Gateway BusinsessWorker的進程數(shù)設(shè)置cpu核數(shù),那是不是workerman會自動選擇一個進程處理業(yè)務呢?