2011-12-22 154 views
10

我有幾個cronjob爲我的網站彙總數據並驗證數據。其中一些進程需要在後臺運行。在後臺運行進程php

實施例:

cronjob1.php execute cronjob2.php using exec 

這cronjob2.php運行使用需要exec和cronjob3完成然後cronjob2然後的cronjob光潔度另一個cronjob3.php。

我目前有一個問題,其中cronjob1.php需要2個小時才能完成。

有沒有更好的方法來運行它,讓它運行得更快?

謝謝

+3

這些cron作業是什麼樣的任務在做什麼?我們很難判斷它是否可以運行得更快 – RageZ 2011-12-22 14:59:06

+0

總結數據並驗證訪客統計數據,產品統計信息 - cpa,cpc,訂單數量等... – 2011-12-22 15:00:09

+0

一些通用建議,嘗試持久連接數據庫,優化您的數據庫通過創建一些特定的索引,並嘗試簡化或優化您的腳本的邏輯 – RageZ 2011-12-22 15:01:36

回答

18

有一些東西,你可以這樣做:

  • 確保您的腳本中使用永久連接,這樣你就不會鬆動時連接並從數據庫服務器斷開連接。
  • 實現一個日誌記錄機制,所以你可以識別腳本哪部分緩慢運行,記錄每個數據庫查詢花費的時間會是個好主意
  • 儘量優化你的數據庫,你應該使用explain對慢速查詢並創建所需的索引。
0

如果cronjob1有許多數據庫操作的,比那創建存儲過程,並在大多數使用表字段

索引這增加你的cronjob性能....