Тест производительности XSLT процессоров для PHP/Perl

Для чего это все проделывалось:
Первоночально была цель протестировать Sablotron и libxslt - два разных XSLT Engine для PHP, но потом было решено для полноты картины протестировать эти же механизмы и для Perl. В результате тест затянулся не на 1 час :)
Т.к в официальном последнем релизе РНР (4.1.1) нет поддержки libxslt, то она была "насильно" перенесена из CVS.

Для тестов использовали: ApacheBench, Version 1.3c

Полный список используемого software и их версии XML/HTML

Как тестировали
Тестирование проводилось для mod_php+Sablotron mod_php+libxslt mod_perl+Sablotron mod_perl+libxslt cgi perl+Sablotron cgi perl+libxslt

Были предприняты попытки протестировать AxKit, но все попытки заставить его работать не увенчались успехом, Apache просто падал с Segmentation при работе AxKit.

4 цикла (запросов/конкурирующих) 1000/10 2000/25 3000/50 5000/100

Все это повторялось для каждого xml файла (для netonfo_big использовались только 1000/10 и 2000/25)

Некоторые подробности:
Свап файл(swap-file) был отключен.
Apache и его модули (mod_perl,mod_php) были скомпилированы с подержкой DSO.
Перед каждым тестом apache загружался только с теми модулями, которые были нужны для этого теста. Для cgi вообше никакие модули (mod_perl, mod_php) не загружались.
MySQL, который обычно работает на этом сервере, так же был на время тестов остановлен.

Еще был протестирован mod_xslt который базируется на Sablotron. Результаты его почти (он быстее на 5%) не отличаются от php+Sablotron по этому детальные тесты не проводились.

Server Hardware:

  • PIII 2x800Mhz 1Gb RAM

    Server OS:

  • Linux 2.4.16 SMP

    Hardware Client: Hardware Client: