Я записал эту команду на своей оболочке для получения текущих запросов к серверу
PS aux | grep php | туалет-l
результат: 68
так эта команда возвраты, что 68 в настоящее время просматриваний некоторых сайтов на моем сервере, поскольку я понимаю также, что записал
PS aux | grep httpd | туалет-l
результаты 12
какой является corrent числом для людей, в настоящее время запрашивающих страницы на моем сервере? второй вопрос может я получать требуемые страницы точно ewhat, они напр./home/user1/public_html/page.php заранее спасибо
Ваши примеры выше показывают, сколько запущенных процессов php и httpd на самом деле не покажут вам соединения. Если вы просто хотите получить примерное представление о соединениях, вы можете попробовать netstat -an | grep :80 | wc -l
, который покажет вам общее количество соединений (как в активном состоянии, так и в состоянии ожидания) для порта 80.
Чтобы действительно получить метрики по запросам страниц, загрузке сервера и отслеживанию пользователей, вам нужно посмотреть на что-то вроде MRTG или Cacti.
Расширенный ответ:
Команда выше показывает все соединения к какому бы порту вы не проверяли, но не делает различия между активными соединениями или другим разным статусом, как TIME_WAIT и CLOSE_WAIT, а также не разбивает его на виртуальный хост, это просто все соединения на этом сервере к порту X.
Если вы запустите команду без трубы wc -l, вы увидите другой статус, включая ESTABLISHED, TIME_WAIT и CLOSE_WAIT.
CLOSE_WAIT указывает на то, что другая сторона закрыла соединение. ВРЕМЯ_WAIT указывает, что локальная сторона закрыла соединение.
Эти соединения поддерживаются в течение нескольких минут, чтобы убедиться, что любые задержанные пакеты совпадают и доставляются должным образом.
Когда запрос клиента приходит на ваш веб-сервер (apache, nginx, iis, lighthttp и т.д.) обрабатывает запрос клиента и загружает файл. Если он обнаруживает, что содержит php код, он передаёт его интерпретатору php, который затем либо подключается к базе данных типа postgres или mysql, либо передаёт его обратно вашему веб-серверу, который доставляет его клиенту.
Вы обнаружите, что ваш веб сервер и php обычно способны обрабатывать сотни клиентских запросов, так что хотя у вас может быть более 100 клиентских соединений, у вас может быть только 1-10 httpd процессов, так как каждый рабочий процесс обрабатывает несколько клиентских запросов.
Тот факт, что вы сказали netstat -an | grep :80 | wc -l
вернул 3500 результатов, требует проведения расследования. Из любопытства я проверил наш самый тяжелый сервер нагрузки в настоящее время нажмите 1.1Mbit трафика и обнаружил, что он имел только 141 соединение между различными портами, на которых мы серверное содержимое, однако, если ваш сайт имеет высокий трафик и не основан на сеансах, то это вполне возможно.
Если вам действительно интересно, что происходит, то только мониторинг может сказать вам об этом. Cacti даст вам хорошее представление о пропускной способности и нагрузке на сервер, а что-то вроде Apache mod_status, MRTG или Awstats даст вам лучшее представление о трафике каждого виртуального хоста с разбивкой на уникальных посетителей и метрикой трафика страниц.
Если вам нужны только некоторые беглые данные, вы можете подключить статус, т.е. netstat -an | grep :80 | grep ESTABLISHED | wc -l
покажет вам количество ESTABLISHED-соединений с портом 80, игнорируя CLOSE_WAIT и TIME_WAIT. Даже это дает вам лишь приблизительное представление о том, сколько людей подключается к вашему серверу, чтобы понять, как люди используют ваш сайт (сайты), вам нужно пройти маршрут внешних приложений.
Надеюсь, это поможет.
.