Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.
[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]
PHP 5: Новые возможности.
Тестирование производительности
Для проверки производительности отдельных скриптов или функций может быть использован пакет PEAR::Benchmark.
Проверить производительность всего разработанного приложения целиком на том или ином сервере можно как пассивным,
так и активным способом.
Пассивный способ. Анализируется серверный лог. Обращается внимание на время обслуживания каждой из страниц
сайта. Данный способ не отличается большой точностью; к тому же он требует сравнительно продолжительного времени для накопления
данных, позволяющих получить релевантный результат.
Замечание
По умолчанию требуемый параметр не включен в записи серверного лога. Чтобы его включить, нужно добавить %T в директиву LogFormat, которая находится в конфигурационном файле сервера
Apachehttpd.conf. Время обслуживания запрошенной страницы
будет указано в секундах.
Активный способ. Используется генератор запросов к серверу, благодаря чему тестирование может быть выполнено
в течение нескольких минут. Появляется возможность определить ряд дополнительных показателей; например, максимальное количество
обрабатываемых сервером запросов в секунду. Тестировать можно не только локальный сервер, но и удаленные. Наиболее доступным
является генератор ApacheBench, или просто ab,
входящий в поставку сервера Apache. Более продвинутые генераторы - httperf,
Siege и т. п.
ab -n 1000 -c 100 http://pterodactyl.localhost/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/
Benchmarking pterodactyl.localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests
Server Software: Apache/2.2.0
Server Hostname: pterodactyl.localhost
Server Port: 80
Document Path: /
Document Length: 3437 bytes
Concurrency Level: 100
Time taken for tests: 2.256810 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 3701000 bytes
HTML transferred: 3437000 bytes
Requests per second: 443.10 [#/sec] (mean)
Time per request: 225.681 [ms] (mean)
Time per request: 2.257 [ms] (mean, across all concurrent requests)
Transfer rate: 1601.38 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 101 64.5 96 229
Processing: 54 117 23.1 120 168
Waiting: 0 70 42.3 70 152
Total: 131 218 47.0 220 315
Percentage of the requests served within a certain time (ms)
50% 220
66% 237
75% 250
80% 259
90% 291
95% 300
98% 306
99% 309
100% 315 (longest request)
[2] PHP 5 Power Programming. AndiGutmans, StigBakken, and DerickRethans. Prentice
Hall PTR. www.phptr.com. Copyright
2005 Pearson Education, Inc..
[3] Advanced PHP Programming. A practical guide to
developing large-scale Web sites and applications with PHP 5. GeorgeSchlossnagle. Copyright 2004 Sams Publishing.