Термины
Время выполнения скрипта – время, за которое сервер формирует содержимое страницы сайта.
Процессорное время – время работы свободного от других задач процессора, которое требуется для выполнения скрипта.
Пример: Если процессор сервера не занят, процессорное время примерно равно времени выполнения скрипта. Если процессор сервера занят на 50%, время выполнения скрипта будет в два раза больше процессорного времени, которое затрачивается на генерацию страницы.
Принципы работы сервера
Суть услуги виртуального хостинга заключается в том, что на одном физическом сервере работает множество сайтов. Сервер способен обработать около сотни запросов в секунду, и этими ресурсами сервера пользуются сайты клиентов. Средняя нагрузка сервера поддерживается на таком уровне, чтобы сервер никогда не был занят на 100%, при этом на каждый новый запрос клиента гарантируются свободные серверные ресурсы, позволяющие его обслужить.
В нормальном режиме работы на один запрос к странице сайта (скрипту) обычно затрачивается в среднем около 1% ресурсов сервера, от 0.01 до 0.1 секунд процессорного времени. Сервер хостинга не предназначен для ресурсоемких операций запросов.
Поскольку одновременно исполняется десятки процессов, реальное время генерации страницы в несколько раз больше процессорного времени, которое требуется для работы скрипта.
Пример: Стандартным общепринятым временем генерации страницы портала PHP Nuke или форума PHPBB является от 0.2 до 0.5 секунд – это считается нормальной и даже хорошей скоростью генерации страницы. Однако полностью свободный сервер смог бы справится с такой операцией гораздо быстрее, почти мгновенно, ведь типичное процессорное время на генерацию страниц этих проектов – от 0.03 до 0.1 секунды.
Ресурсоемкие скрипты
Некоторые системы работают таким образом, что обработка одного запроса может занимать существенное процессорное время. Например, обработка поискового запроса форума PHPBB может занимать около 1 секунды процессорного времени. Такая «тяжелая» страница формируется от 3 до 10 секунд, в зависимости от загрузки сервера. В качестве исключения для построения отдельных сложных страниц проекта такая задержка является нормальной.
Некоторые портальные системы, среди них Mambo, «Битрикс», некоторые другие, потребляют около 1 секунды процессорного времени на создание каждой страницы, включая главную страницу проекта. Это принципиальный недостаток (ошибка), которую допустили разработчики этих систем, или программист проекта, если система сайта – его собственная разработка.
Для нашего примера, если сервер абсолютно свободен, страница будет сформирована за секунду (но не быстрее!). Это уже не является хорошим результатом. На практике для нормально работающего сервера хостинга, который работает в штатном режиме, формирование такой страницы может занимать от 3 до 10 секунд.