Чем паковать логи? Имеем процесс который пишет логи в огромных объемах. Например, 200k строк в секунду. Сейчас они пишутся в очередь в SHM, а оттуда отельный процес пишет в запакованные файлики. Пакуем при помощи zlib. В общем, более-менее ничего, но сейчас упаковка логов занимает больше ЦПУ, чем работа приложения. Может есть другие алгоритмы упаковки, более заточенные на логи?
Пример лога:
13-12-18 23:45:13.217 pcrf_core_W0[13200] NOTI ##> GxCCR-U e2e:04827D0A f:sohugw02_02.gx.yota.ru n:264 sess:sohugw02_02.gx.yota.ru;773840480;195710;91396 ?sub:250110100657234 ?ip:[10.191.187.234] ev:EVENT_USAGE_REPORT mk:777:o:2537 ?loc:25011386A101
13-12-18 23:45:13.217 pcrf_core_W2[13203] NOTI ##> GxCCR-U e2e:04827D0B f:sohugw02_02.gx.yota.ru n:2651 sess:sohugw02_02.gx.yota.ru;729280576;195454;87245 ?sub:250110100115939 ?ip:[10.191.95.99] ev:EVENT_USAGE_REPORT mk:777:o:0 ?loc:250113879101
13-12-18 23:45:13.217 pcrf_core_W3[13206] NOTI ##> GxCCR-U e2e:0482BFB0 f:sohugw02_02.gx.yota.ru n:3492 sess:sohugw02_02.gx.yota.ru;577081332;193630;100343 ?sub:250110100201883 ?ip:[10.191.145.30] ev:EVENT_USAGE_REPORT mk:777:o:0 ?loc:250113866F05
13-12-18 23:45:13.217 pcrf_core_W1[13202] NOTI ##> GxCCR-U e2e:04827D0C f:sohugw02_02.gx.yota.ru n:6643 sess:sohugw02_02.gx.yota.ru;648271027;195358;86213 ?sub:250110100304677 ?ip:[10.191.177.113] ev:EVENT_USAGE_REPORT mk:777:o:0 ?loc:25011386DC00
13-12-18 23:45:13.217 pcrf_core_W4[13208] NOTI ##> GxCCR-U e2e:A9818A28 f:sohugw02_02.gx.yota.ru n:791 sess:sohugw02_02.gx.yota.ru;767759213;191613;38853 ?sub:250110100129205 ?ip:[10.191.166.253] ev:EVENT_USAGE_REPORT mk:777:o:0 ?loc:250113878404