国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

GatewayWorker高并發(fā)定時器失效

auki

問題描述

GatewayWorker做物聯(lián)網(wǎng)項(xiàng)目,在 Events.php 的 onConnect 中加一個5秒的定時器,用于清除沒有認(rèn)證的連接。正常情況下這個定時器工作正常,但一遇到大量并發(fā)鏈接,比如一秒幾十個鏈接,這個定時器就不起作用了(數(shù)據(jù)庫中沒有 tmp_int2=2的記錄, 1為連接 2為定時器刪除連接 3為成功認(rèn)證后刪除定時器),導(dǎo)致大量的無效連接的存在, 影響正常設(shè)備的通訊。麻煩給指導(dǎo)一下,看看什么原因,怎么解決。

public static function onConnect($client_id)
{
    $_SESSION['auth_timer_id'] = Timer::add(5, function($client_id){
        Gateway::closeClient($client_id);
        self::$db->insert( ['tmp_int1'=>time(),'tmp_int2'=>2,'tmp_var1'=>$client_id],'yoo_p_tmp');         
           }, array($client_id), false);            

          self::$db->insert( ['tmp_int1'=>time(),'tmp_int2'=>1,'tmp_var1'=>$client_id,'tmp_var2'=>$_SERVER['REMOTE_ADDR'].':'.$_SERVER['REMOTE_PORT']],'yoo_p_tmp');   
}
707 3 0
3個回答

six

大并發(fā)裝要event擴(kuò)展,優(yōu)化linux內(nèi)核,然后restart重啟gatewayWorker

  • 暫無評論
釋永戰(zhàn)

你的服務(wù)器是windows系統(tǒng)嗎?建議使用Linux

  • 暫無評論
auki

服務(wù)器是 linux 的 PHP 的 event 擴(kuò)展沒裝, 我裝上試試再說, 謝謝回復(fù)。

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??