- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
Есть высоконагруженный проект. Есть желание определить "узкие" места. Решение должно быть на уровне Apache. Я это вижу так:
1. Пользователь обращается к странице, допустим http://site.ru/script.php?action=up
2. Apache создает процесс, где то в памяти фиксируется адрес скрипта (/script.php?action=up) и время в миллисекундах.
3. Apache выполняет сценарий, отдает все пользователю и перед завершение процесса записывает в какой ни будь лог-файл строку вида: 'время запуска скрипта' 'ulr скрипта' 'время выполнения'
Не знаю насколько это возможно, я считаю что узкое место не в работе скриптов, а в отдаче результатов пользователям. Потому так же хотел бы узнать можно ли отдельно зафиксировать время потраченное на выполнение скрипта и время на отдачу пользователю контента? Чтобы лог имел вид:
'время запуска скрипта' 'ulr скрипта' 'время на выполнения скрипта' 'время на отдачу контента'
Прошу сказать возможно ли в принципе решить мою задачу и может быть помочь в решение.
Всем спасибо!
bigton, в точности это делает mod_log_slow.
Оценить время потраченное на отдачу можно только косвенно. И если apache работает в паре nginx это обычно вообще не нужно, так как nginx сводит эти затраты почти к нулю.
netwind, спасибо, нашел (http://code.google.com/p/modlogslow/)! Это то что нужно!
Раз вы разбираетесь, воспользуюсь ситуацией и задам вопрос: я ни чем не рискую, если сейчас поставлю на 80 порт nginx, а на 81 apache?
Просто как то было что фриланс исходники выдавал когда их сервер не справлялся с нагрузкой)
bigton, ничем. для доступа к исходникам нужно чтобы обработчик php не сработал. Обычно это следствие неправильной настройки, а не нагрузки. То есть правильная настройка такая, что запрос к файлу никак не выдает ответа и заканчивается обрывом или вызывается обработчик php.
обычно Apache вешают на специальный локальный ip-адрес 127.0.0.1 и nginx обращается к нему. При этом никто из интернета не может соединиться с apache напрямую. Можно и файрволом закрыть apache, если по каким-то причинам нельзя повесить на 127.0.0.1.
Спасибо, буду пробовать!
bigton добавил 07.02.2011 в 14:40
netwind, снова хочу обратиться к вашу совету. Возникли проблемы при установке modlogslow: не знаю где искать файл special.mk?
PS OS Debian
Не знаю насколько это возможно, я считаю что узкое место не в работе скриптов, а в отдаче результатов пользователям
Я бы посоветовал использовать внешний скрипт (на другом хостинге) который в часы пик соединялся с вашим сервером каждые сколько-то минут и считал когда сервер вернет заполненную страницу.
Что-то вроде
$time = getTime();
file_get_contents("страница вашего сайта");
$time1 = getTime() - $time;
bigton, да там у них как-то не очень все удобно - собери вручную
apxs2 -c mod_log_slow.c
получится файл .libs/mod_log_slow.so. Останется его скопировать и прописать в конфиг апача.
netwind, все заработало, логи собирает, спасибо!
Возможно как то настроить логи чтобы они больше информации показывали, например содержимое сессии пользователя?
bigton, там есть документация.
сессии обычно существуют внутри php, а на уровне apache можно разве что cookies запроса записать.