今日、私はワーカースタッカブル連携メソッドを勉強し、2 つのフォームを書きました。それは機能しますが、メモリが拡張できないという問題が発生します
そこで、最初のメソッドのコードを作者にメールしました。まだ返信がありません。
最終的に 2 つの組み合わせをあきらめてワーカーを直接使用したところ、これまでに 582,000 個のジョブが実行され、メモリは増加せず、速度は基本的に安定していることがわかりました。 コードは次のとおりです。
[php] 普通のコピー印刷を表示します
shift()){ $data_flag = true; $this->doSomeWork(); if((++$count)%1000==0){ printf("作業メモリ使用%.3fMB RAM, time: %3f===>%d n", memory_get_peak_usage(true)/10 48576, (マイクロタイム( true) - $stime)、 $count); $stime = microtime(true); } }else{ usleep(100000); } } 出口; } プライベート 関数 doSomeWork(){ $str = 'sdalsadkfkasd;lfksa;ldfkas;lkf;lsadkf;as'; $len = strlen($str); $s = substr($str,rand(0,$len)); $len = floor(strlen($s)/2); for($i=0;$istart(); $stime = microtime(true); $count = 3000000;//99999999; $total = $count*5; $ct = 0; while($count--){ //for ($target = 0; $target
虚拟上の走行速度:
[無地] 表示 無地 コピー 印刷 ?
作業メモリ使用量 0.250MB RAM、時間: 2.141709===> 607000 作業メモリ使用量 0.250MB RAM、時間: 1.721918===> 608000 作業メモリ使用量 0.250MB RAM、時間: 1.858363===> 609000 作業メモリ使用量 0.250MB RAM、時間: 1.734542===> 610000 作業メモリ使用量 0.250MB RAM、時間: 1.819794===> 611000 作業メモリ使用量 0.250MB RAM、時間: 1.847132===> 612000 作業メモリ使用量0.250MB RAM、時間: 1.740353===> 613000 作業メモリ使用量 0.250MB RAM、時間: 1.628364===> 614000 作業メモリ使用量 0.250MB RAM、時間: 1.731518===> 615000 作業メモリ使用量 0.250MB RAM、時間: 1.730583===> 616000 作業メモリ使用量 0.250MB RAM、時間: 1.825315===> 617000 作業メモリ使用量 0.250MB RAM、時間: 1.762334===> 618000 作業メモリ使用量 0.250MB RAM、時間: 1.842860===> 619000 作業メモリ使用量 0.250MB RAM、時間: 1.732677===> 620000