Performance

ccze 對原木上色非常慢

  • August 8, 2018

我想用ccze它來為我的日誌著色,但它太慢了:

對 1832 行日誌進行操作:

$ journalctl --since 12:00 --until 12:30 | wc -l
1832

如果沒有著色,獲取日誌需要 0.01 秒的使用者時間:

$ time journalctl --since 12:00 --until 12:30 > /dev/null

real    0m0.021s
user    0m0.010s
sys     0m0.007s

使用ccze時,需要 32.66 秒(長 3260 倍!):

$ time journalctl --since 12:00 --until 12:30 | ccze > /dev/null

real    0m40.965s
user    0m32.660s
sys     0m2.193s

相比之下,grc只需要 0.24 秒(長 24 倍):

$ time grc journalctl --since 12:00 --until 12:30 > /dev/null                                                                                              24.3s | 24 Aug 13:04

real    0m0.230s
user    0m0.237s
sys     0m0.017s

AFAIK 我正在使用預設配置ccze 0.2.1

如果它這麼慢,它可能只對跟踪日誌文件末尾的新寫入有用,例如使用journalctl -f.

ccze通常這麼慢嗎?

嘗試使用-o nolookups參數。有關詳細資訊,請參見手冊頁

沒有參數的18 秒:

time journalctl --since 12:00 --until 12:10 | ccze > /dev/null
journalctl --since 12:00 --until 12:10  0.01s user 0.01s system 0% cpu 10.686 total
ccze > /dev/null  12.51s user 1.27s system 76% cpu 18.041 total

0.15-o nolookups

time journalctl --since 12:00 --until 12:10 | ccze -o nolookups > /dev/null
journalctl --since 12:00 --until 12:10  0.01s user 0.01s system 24% cpu 0.091 total
ccze -o nolookups > /dev/null  0.13s user 0.01s system 95% cpu 0.145 total

引用自:https://unix.stackexchange.com/questions/388048