| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > access_log: как получить доп. времена? |
| Автор: sisaev 22.6.2007, 13:17 |
| Добрый день! Кратко: Как можно настроить логирование апачем дополнительных времен доступа клиента к серверу: - первого байта запроса от клиента - последнего байта запроса от клиента - время посылки первого байта ответа Описание проблемы: Столкнулся с проблемой замедления получения HTTP клиентом ответа с HTTP сервером приложений (Apache 1.3 + Java). Анализ показывает что серверный код работает очень быстро - всегда быстрее 2 секунд. Настройка time_taken в access_mod (опция %T) показывает что Apache всегда логирует время HTTP транзакции 2 или менее секунды. Не смотря на это на клиенте видны зависания на пол и более минуты. Всё это дело случается через определенное время работы – на одном из сервером стабильно на 3-и сутки. Хочется получить точную картину замедления – найти узкое место и попытатся его решить. Приму все возможные мысли Заранее спасибо. |
| Автор: Сумасшедший 22.6.2007, 21:10 |
| sisaev, А задержка точно происходит именно на веб-демоне?- чаще происходят задержки про резолве доменов, особенно если используются нестандартные ДНС и берется какой-то контент с других ресурсов. |
| Автор: mahoro 7.7.2007, 00:24 |
| А ось какая? Сам вопрос слишком специфичен - он скорей всего останется без ответа (или ответом будет - пишите свой модуль логгирования) Проблема с задержкой при считывании запроса решается с помощью accept filters - в FreeBSD это http_accf.ko и инструкция AcceptFilter on в httpd.conf. В linux это тоже есть, но как именно называется я не помню, надо гуглить.. Суть этой технологии - запрос передается апачу только после полного его получения от клиента. |
| Автор: sisaev 16.1.2008, 12:53 |
| На всякий случай скажу что вопрос удалось решить использованием Oracle WebCache и настройкой в нем очень подробного логирования. В логирование можно взять время установки TCP хэндшейка, время получения первого байта и т.д. Т.к. Oracle WebCache ставиться до апача (или любого веб сервера) и работает с вебсервером по протоколоу http 1.1, то удалось резко снизить иснтенсивность создания новых соединений на сервере и система сама по себе стала работать без сбоев. |