Предложения по профилированию веб-сервера - PullRequest
2 голосов
/ 05 февраля 2010

Я разработал небольшой изящный веб-сервер на C и хотел бы оценить его производительность. Для этого я делаю следующее:

Измерение времени установления сокета, времени передачи файла (для файлов произвольного размера) и времени разрыва сокета в следующих сценариях:

  • однопоточных
  • многопоточный

И это должно дать мне пропускную способность / пропускную способность ... Я планировал настроить это на кучу компьютеров и измерить все ... Для клиентской части я использую PHP и использую простую синхронизацию работает следующим образом:

<?php
$time_start = microtime_float();
// COMMAND TO PROFILE
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Task took $time seconds\n";
?>

Существуют ли какие-либо другие метрики, которые я должен измерить, которые позволили бы мне получить ценные сведения?

Ответы [ 4 ]

3 голосов
/ 05 февраля 2010

если вы профилируете производительность PHP, вы можете использовать Xdebug (среди многих других). Но если вы беспокоитесь о производительности веб-сервера, это другая история. для таких веб-серверов, как Apache, также разработаны инструменты профилирования, например, ab tool

2 голосов
/ 05 февраля 2010

Попробуйте использовать xDebug с профилированием, затем загрузите и установите webgrind .

Вы:

  1. Избегайте беспорядка кода и
  2. Получите гораздо больше информации, памяти, сколько раз вызывается подпрограмма, сколько стоит подпрограмма и откуда она вызывается.

Я сомневаюсь, что вы могли бы собрать такую ​​информацию, используя класс профилирования PHP, с такой легкостью

Существует множество учебных пособий для начала работы.

alt text
(источник: jokke.dk )

2 голосов
/ 05 февраля 2010

Хм, я не уверен, что это лучший подход к производительности запроса производительности. Взгляните на ab, предоставляемый дистрибутивом Apache, это элементарный инструмент, но вы должны иметь возможность запустить его на том же сервере и получить более точный тест для времени запроса. Это также даст вам кучу других метрик.

http://httpd.apache.org/docs/2.0/programs/ab.html

1 голос
/ 05 февраля 2010

Использование памяти может быть хорошим. Возможно, вы захотите посмотреть, как часто вызываются определенные функции, и посмотреть, что оптимизировать, если что-нибудь.

Кроме того, Facebook выпустил инструмент под названием XHProf, который стоит посмотреть: http://mirror.facebook.net/facebook/xhprof/doc.html. Некоторые дополнительные инструкции по его использованию можно найти здесь: http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/.

...