shell模擬php多程序從redis獲取資料

2021-08-14 10:26:48 字數 1721 閱讀 2415

背景:現在的資料已經寫到了redis佇列裡面,完成了入棧的操作,後期打算從redis獲取資料,完成出棧的操作,出棧後然後做一系列的邏輯處理

環境: vmware虛擬機器  記憶體:1g   硬碟:60g  php環境:php version 5.6.31  php框架:tp

測試:事先在redis裡面插入了70w條資料,分別模擬php單程序和多程序(3個多程序)

php單程序**:

public function slist()

$repayment_data= unserialize($result);

if(is_array($repayment_data) && !empty($repayment_data))

}$this->repay->stop();

$spent_time = $this->repay->spent($echo=true, '單程序匯出redis資料指令碼');

$this->repay->clear();

}php多程序**:

public function blist1()

$repayment_data= unserialize($result);

if(is_array($repayment_data) && !empty($repayment_data))

}$this->repay->stop();

$spent_time = $this->repay->spent($echo=true, '多程序匯出redis資料指令碼1');

$this->repay->clear();

}  public function blist2()

$repayment_data= unserialize($result);

if(is_array($repayment_data) && !empty($repayment_data))

}$this->repay->stop();

$spent_time = $this->repay->spent($echo=true, '多程序匯出redis資料指令碼2');

$this->repay->clear();

}  public function blist3()

$repayment_data= unserialize($result);

if(is_array($repayment_data) && !empty($repayment_data))

}$this->repay->stop();

$spent_time = $this->repay->spent($echo=true, '多程序匯出redis資料指令碼3');

$this->repay->clear();

}  shell檔案(batch.sh)**:

#!/bin/sh

for((i=3;i>=1;i--))do&

done

測試結果如下所示:

單程序結果執行結果以及耗時如下所示:

多程序執行結果以及耗時如下所示:

shell模擬多程序(1)

場景 由於需要把 下的所有內容同步到遠端另乙個機器。basicobject 目錄下有9個目錄每個目錄下有200 1000個檔案不等 檔案小的幾十k大的幾百兆 總計270g 測試wget x 只有1m s的速度 如果同時啟動n個wget xx基本能打到nm s的速度。1 2 3 4 5 6 7 8 9...

shell多程序執行

shell在linux中,是使用者和kernel溝通的橋梁,採用c編寫,既是一種命令語言,也是一種解釋型指令碼語言,我們常寫的ls,grep就是基本的shell命令。shell指令碼是將要執行的命令按一定順序寫成的乙個文字檔案,最近遇到乙個需求,要將一定數量的命令快速執行,而每次執行都需要一定的時間...

PHP多程序 4 內部多程序

說的都是只相容unix 伺服器的多程序,下面來講講在window 和 unix 都相容的多程序 這裡是泛指,下面的curl實際上是通過io復用實現的 通過擴充套件實現多執行緒的典型例子是curl,curl 支援多執行緒的抓取網頁的功能。這部分過於抽象,所以,我先給出乙個curl並行抓取多個網頁內容的...