我正在爲我的公司編寫一個自定義的apache日誌解析器,並且發現了一個我無法解釋的性能問題。我有一個1.2GB大小的文本文件log.txt。unix中排序命令的性能
命令:sort log.txt最長比命令慢3秒:cat log.txt |排序
有人知道爲什麼會發生這種情況嗎?
我正在爲我的公司編寫一個自定義的apache日誌解析器,並且發現了一個我無法解釋的性能問題。我有一個1.2GB大小的文本文件log.txt。unix中排序命令的性能
命令:sort log.txt最長比命令慢3秒:cat log.txt |排序
有人知道爲什麼會發生這種情況嗎?
cat file | sort
是Useless Use of Cat。
cat的目的是連接 (或「catenate」)文件。如果僅僅是 單個文件,將其與 連接起來不會浪費時間,並且 會使您成爲一個進程。
它不應該花更長的時間。你確定你的時間安排正確嗎?
請張貼的輸出:
time sort file
和
time cat file | sort
你需要運行的命令幾次,得到的平均值。
反而擔心的sort
的表現,而不是你需要改變你的日誌記錄:
另外,你確定貓正在讀取整個文件?它可能有讀緩衝區等。
由於日誌文件在過渡期間增長,一個調用是否比另一個更長? – Johnsyweb 2011-06-03 10:43:58
不,我在本地複製文件。 – gpol 2011-06-03 10:50:50
只是檢查:-) – Johnsyweb 2011-06-03 10:52:03