Задать вопрос
Ad3pt
@Ad3pt

Выбор CPU для grep

Всем доброго времени суток.
Такая ситуация: есть старый сервер (4 CPU cores), подключенный к SCSI (DAS) дисковой полке. На дисках лежат логи apache/nginx. Периодически запускается grep по какой-то части этих логов (обычно по отдельному каталогу в 80-120GB). Самый оптимальный способ запуска grep, который я нашел:

find /logdir/log_5*201211060* |xargs -n 1 -P 4 lzcat|grep -i «some_phrase»

В такой ситуации время поиска, по моим наблюдениям (пробовал на разных хостах), сильно зависит от CPU. Как раз пришло время заказывать новый сервер и я пытаюсь выбрать CPU (желательно, Intel), максимально производительный для этой задачи. Подскажите, пожалуйста, на какие характеристики следует в первую очередь обратить внимание: частота, кэш, может быть, частота памяти или что-то еще.
Заранее большое спасибо

P.S. Возможно, есть более оптимальный способ запуска grep. GNU parallel почему-то на моей задаче показывает худшие результаты, чем xargs -P 4
  • Вопрос задан
  • 4445 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@gribozavr
Если поиск cpu-bound, то возможно имеет смысл написать специализированный инструмент для поиска.
Ответ написан
AterCattus
@AterCattus
Люблю быстрый backend
А не zcat ли является тут cpu bound звеном? Во время поиска в ТОПе процессов по cpu из этих 4х первым висит именно grep?
Если именно grep, то присоединяюсь к варианту избавления от -i.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы