Кто-нибудь знает о переключении контекста — вход из приложения на диск через FSYNC против syslog-ng

Недавно один из наших старших инженеров спросил меня о переключении контекста при использовании syslog-ng и записи журналов из нашего приложения на диск.

Контекст:
Я хочу использовать syslog-ng для входа & отправьте вывод из нашего приложения, написанного на C ++, в logstash на удаленном хосте сервера журналов, а затем перенесите все это вasticsearch & используйте Kibana в качестве внешнего интерфейса для просмотра, анализа и вывода полезных метрик. Стек ELK

В настоящее время мы используем буфер FSYNC размером 4 КБ или 8 КБ, который периодически выводит данные из журналов на диск; то есть мы не форсируем запись на диск для каждой записи журнала.

Как и любой хороший инженер, ищущий производительность, он хочет понять, увидим ли мы большее переключение контекста или сможем ли мы повысить производительность, используя syslog-ng.

Таким образом, вопрос заключается в следующем: будет ли использование syslog-ng уменьшать или увеличивать переключение контекста на хосте этого приложения.

Мой опыт приводит меня сюда, чтобы задать вопрос — учитывая, что у меня нет достаточных знаний, чтобы придумать ответ самостоятельно.

Давний тайник, все еще новичок в публикации. Спасибо!

0

Решение

Это зависит от того, сколько журналов вам нужно обработать и сколько ресурсов вы готовы посвятить.

Мы используем Kibana / Elastic search с Logstash, и нагрузка становится довольно большой, но опять же у нас более 400 серверов, так что YMMW. Java на самом деле не известна своей снисходительностью к ресурсам. Тем не менее, с другой стороны, это довольно легко настроить.

Разбор журналов в Logstash может быть сделан с помощью Grok. Подберите пару виртуальных машин и поэкспериментируйте с ними, если у вас большая конфигурация среды, которая необходима для того, чтобы сделать ее терпимой, или если у вас есть деньги, вы можете бросить на нее аппаратное обеспечение до тех пор, пока оно не заработает.

1

Другие решения


По вопросам рекламы [email protected]