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

請(qǐng)問服務(wù)器做幀同步保存幀數(shù)據(jù)globalData組件疑問

nxfte

看了下globalData組件,在gateway里測試了下大概1秒可以寫1000次。
代碼片段,為什么感覺這么少呢?

//...

 public static function onWorkerStart($businessWorker)
    {
                self::$g = new GlobalData\Client('127.0.0.1:2207');

//...
case 'test':

               Logger::debug("g:start" . time());
                for ($i=0;$i<=20000;$i++){
                    self::$g->abc = array(1,2,3);
                }
                Logger::debug("g:end" . time());
                break;
//...

[debug]g:start1602734386 []
[debug]g:end1602734388 []
從日志上看2萬個(gè)寫入需要2秒,感覺globalData性能不應(yīng)該這么低, 我用redis 測試每秒也有6萬個(gè)set,get

 ~ redis-benchmark -t set,get 
====== SET ======
  100000 requests completed in 1.62 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

95.62% <= 1 milliseconds
99.80% <= 2 milliseconds
99.83% <= 3 milliseconds
99.85% <= 6 milliseconds
99.90% <= 7 milliseconds
99.90% <= 44 milliseconds
99.93% <= 45 milliseconds
99.95% <= 48 milliseconds
100.00% <= 48 milliseconds
61728.39 requests per second

====== GET ======
  100000 requests completed in 1.62 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

91.25% <= 1 milliseconds
99.62% <= 2 milliseconds
99.89% <= 3 milliseconds
99.95% <= 4 milliseconds
99.95% <= 6 milliseconds
100.00% <= 6 milliseconds
61614.29 requests per second

所以我需要每隔50ms保存一次幀數(shù)據(jù),應(yīng)該用哪種方案好一些

2543 1 0
1個(gè)回答

walkor 打賞

因?yàn)槎邏簻y方式不同,所以差別較大,并且你的壓測代碼使用time()導(dǎo)致結(jié)果不精確。

如果你用同樣的方式壓測,二者差別不是很大。

     $global = new \GlobalData\Client('127.0.0.1:2207');
     $t = microtime(true);
     $c = 100000;
     for ($i = $c; $i>0; $i--) {
        $global->abc = [1,2,3];
     }
     echo "QPS:".round($c/(microtime(true)-$t)."\n");

輸出 QPS:20325

     $redis = new Redis();
     $redis->connect('127.0.0.1');
     $t = microtime(true);
     $c = 100000;
     for ($i = $c; $i>0; $i--) {
        $redis->set('abc', json_encode([1,2,3]));
     }
     echo "QPS:".round($c/(microtime(true)-$t)."\n");

輸出 QPS:24840

當(dāng)然能用redis的盡量用redis。

  • nxfte 2020-10-15

    問下用你的例子,測試10萬數(shù)據(jù)會(huì)報(bào)如下錯(cuò)誤, 測試1萬沒有問題。
    php r.php
    [1] 96460 alarm php r.php

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