鍍金池/ 問答/人工智能  PHP  Linux/ 關(guān)于基于laravel和redis及websocket架構(gòu)實時搶拍程序的問題

關(guān)于基于laravel和redis及websocket架構(gòu)實時搶拍程序的問題

遇到一個棘手的問題,求大神指點一二。
我這邊有一個基于laravel的實時搶拍商品的程序,搶拍過程主要分為兩塊:一是商品每隔n秒會自動減少一點價格,二是用戶點擊也會使商品減少一點價格。
基本的思路是,使用redis緩存相關(guān)數(shù)據(jù)以此提高查詢操作速度,使用laravel的隊列延遲功能實現(xiàn)每隔n秒后商品價格減少(使用supervisor守護(hù)),使用workerman對在同個搶拍房間的用戶進(jìn)行消息推送(該過程為了向各個用戶推送信息還循環(huán)建立多個curl post提交請求)。但是架設(shè)好以后發(fā)現(xiàn)大概五六個人同時多次點擊搶拍,cpu占比就會飆到30,40,并且經(jīng)常在十多個人的時候達(dá)到90%,導(dǎo)致網(wǎng)站很卡。
一開始判斷是程序問題,但是反復(fù)檢查并無存在哪些會死循環(huán)的地方,并且在用戶停止點擊后cpu占用會立刻降下來。網(wǎng)站使用lnmp架構(gòu),服務(wù)器為阿里云ECS CPU:1核 內(nèi)存2G?,F(xiàn)在不知道是程序的問題還是服務(wù)器配置不足的問題,麻煩有人可以指點一下可能存在的情況嗎?

附上cpu占比飆高時候的截圖問題鏈接:鏈接

回答
編輯回答
瞄小懶

使用workerman對在同個搶拍房間的用戶進(jìn)行消息推送(該過程為了向各個用戶推送信息還循環(huán)建立多個curl post提交請求)
這里不是很清楚為什么還要建立curl連接 建立連接會比較耗時啊

2017年10月22日 16:48