我有一個問題,需要我解析遠程機器上的幾個日誌文件。 有一些併發症: 1)文件可能在使用中 2)中的文件可能會相當大(100MB +) 3)每個條目可能是多行通過網絡讀取和解析大型文本文件的最佳方式是什麼?
爲了解決使用中的問題,我需要先複製它。我目前直接將它從遠程機器複製到本地機器,並在那裏解析它。這會導致問題2.由於文件非常大,因此在本地複製文件可能需要很長時間。
爲了增強解析時間,我想使解析器成爲多線程,但是這使得處理多線條條目有點棘手。
的兩個主要問題是: 1)我如何加快文件傳輸(壓縮?是局部轉移甚至neccessary?我可以讀取文件正在使用其他方式) 2)我該怎麼辦在線程之間拆分線時處理多行條目?
更新:我沒有做明顯的解析服務器原因的原因是我想盡可能少的cpu影響。我不想影響系統即時測試的性能。
如果直接通過網絡複製一個100MB的文本文件需要x秒,並有一個遠程客戶端壓縮和發送文件,然後放氣/讀取需要x/4秒,這不值得嗎? (注意,我實際上不知道壓縮/發送/解壓縮/讀取需要多長時間) – midas06 2008-09-26 00:57:14
盡你所能,並且應該在網絡上使用一些壓縮。就像我說的,查看您的IO流選項 - 有些人建議使用一些zip庫。 OTOH如果您可以在遠端安裝程序,請在那裏進行處理! – 2008-09-26 02:07:13