Есть ли способ улучшить производительность inetd?
У меня есть настройки сервера TCP, используя inetd на AIX 5.3.
Проблема в том, что ответы приходят очень и очень медленно с сервера. Но если у меня есть автономный сервер deamon, это очень быстро. Но мое требование заключается в том, что я должен использовать inetd.
Итак, есть ли способ улучшить производительность inetd.
Спасибо
4 ответа
Одна из проблем при запуске через inetd - это увеличение производительности. Если проблема связана с производительностью, не используйте inetd и используйте автономный демон.
Лучший способ улучшить производительность - вывести inetd из картинки. Но если вам действительно нужно использовать inetd, вот несколько идей:
- Ренис Инетд с отрицательным приоритетом.
- Отключить / отключить ведение журнала inetd
- Вход на более быстрый диск / рейд.
Другая возможность состоит в том, что ваш сервис обрабатывает один запрос или небольшое количество запросов, а затем закрывается. Если это так, то inetd под нагрузкой потребует много времени для перезапуска вашего сервиса. Итак, вы хотите избежать этого сценария.
Последняя возможность состоит в том, что проблема, которую вы видите, вызвана тем, что серверные процессы не завершаются правильно и зависают при использовании ресурсов ядра. В худшем случае они могут даже вращаться. Было бы целесообразно использовать инструменты мониторинга вашей системы, чтобы увидеть, что на самом деле происходит, когда ваша система работает медленно.
Можете ли вы дать нам некоторое представление о разнице между "очень очень медленно" и "очень быстро"? Может быть, inetd делает что-то вроде обратного просмотра IP-адресов для каждого соединения (я не знаю наверняка, это всего лишь предположение), и, возможно, у вас не настроен DNS-сервер для ответа, поэтому он получает 1 или 2 минуты на каждое соединение.
Если разница составляет "10 в секунду" против "12 в секунду", то у вас будут другие проблемы, чем если "разница занимает 90 секунд, чтобы ответить" против "отвечает сразу".
Похоже, что ваш TCP-сервис запускается при каждом входящем в inetd запросе, а затем немедленно закрывается.
Создание такого нового процесса для каждого запроса довольно медленное, поэтому я думаю, что лучшее место, где можно посмотреть, это изменить службу TCP, чтобы она оставалась в живых, чтобы обрабатывать x количество запросов перед завершением работы.