2016-11-21 54 views
0

我有一個任務來抓取100000個URL並將數據保存在excel表格中&將圖片存儲在單獨的目錄中,我已經使用Simple HTML DOM和PHP Excel編寫了腳本,它在1分鐘左右處理4個URL,但隨着時間漸漸變慢更多通過更多&。如何讓更長的PHP腳本更快?

我想讓它更快。我使用面向對象的方法,並將不同的子進程劃分爲小函數,這也有助於我保持變量不受內存影響。我在Windows上使用本地資源XAMPP。

請讓我知道如何加快執行,在更短的時間內做更多&更多。

感謝。

+1

您需要分享一些代碼才能獲得真正的建議。 –

+0

您應該考慮一種排隊所有要處理的站點的方法,並行運行您的搜尋器,消耗隊列。 – Tom

+0

請提供有關您的問題的更多信息。如果你有一個10萬個網址的列表來搶先鋒。您可以使用其他方法來獲取每個內容,然後再進行處理。 – Progrock

回答

0

如果你說的是本地運行,你的瓶頸權可能是網絡延遲。你的過程將在等待響應之後才能轉到下一個url。爲了充分利用本地網絡連接,您可以同時運行多個進程。

我不確定這是不是你的意思是'子進程',但你可以在php中執行多線程(see question)。或者只是在命令行中多次使用部分工作負載來啓動php腳本。

如果網絡仍然是瓶頸,您可以考慮爲具有更好網絡性能的服務器支付費用。當然,當CPU成爲瓶頸時,你需要更好的服務器以獲得更好的性能;)

也就是說,不要指望它只在單個服務器上快速運行。