我想用腳本來處理很多dta記錄,讓我們將其命名爲process.php,問題是我有一個龐大的數據集,爲了使工作更快完成,我想要運行該腳本的多個實例與同時運行php腳本
在/ usr/bin中/ PHP process.php START_RECORD end_record &
所以我讓他們並行運行像
的/ usr /斌/ PHP process.php 0 10000 &
的/ usr /斌/ PHP process.php 10000 20000 &
的/ usr /斌/ PHP process.php 20000 30000 &
的/ usr/bin中/ PHP的過程.PHP 30000 40000 &
...
我認爲這樣的工作可以更快地完成,但後呃嘗試我沒有發現它快得多,而是速度似乎非常接近線性方式(沒有併發性)。我不知道是否因爲process.php將記錄插入innodb表或什麼。
任何想法。
謝謝。無論如何要解決這個問題? – Shawn 2010-07-27 08:21:36
好點:先找到瓶頸;然後解決它。然後找到下一個瓶頸...... – xtofl 2010-07-27 08:23:25
使用擴展插入和事務可能會提高性能(但不是四倍)。也可能對錶格進行分區,或者在完成主要工作後實際創建四個單獨的表格並將它們合併爲一個表格。 這一切都假設您實際上有四個CPU內核可用於您的腳本。 – Mchl 2010-07-27 08:24:21