Оптимальное время генерации страницы?

Batia

Новичок
Оптимальное время генерации страницы?

Добрый день господа.

Я сейчас работаю над довольно крупным проектом, и время выполнения скрипта довольно важно для нас.

Скажите пожалуйста, на данный момент время выполнения скрипта у нас
от 0.015000
до 0.340000
милисекунд.

Это нормально?

*просто пытаюсь сделать максимально легкий скрипт - чтобы создавать как можно меньшую нагрузку на сервер.
 

dimagolov

Новичок
зависит от того, какую пиковую посещаемость ожидаете. кроме того зависит от структуры скрипта и того, какие данные он использует. если это файлы или БД то зависимость времени от загрузки может быть сильно не линейным
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Batia
Стрес-тест, нагрузочное тестированние + поиск
 

Batia

Новичок
По поводу посещаемости - для начала я думаю это будет не более 500 уникальных посетителей в день.
Однако кол-во просмотров страниц одним пользователем планируется довольно большое.

Скрипт работает с MySQL , в принципе ничего там сложного нет и запросов сложных к БД вроде бы тоже нет...

А может быть вы подскажите как мне проверить - нагрузку на сервер которую создает мой скрипт??

Mr_Max
Вот с этого по подробней пожалуйста.

Каким образом мне организовать стресс-тест?

и вообще - если не сложно - поделитесь методами тестирования на производительность???
а то этот вопрос довольно слабо изучен мной - а дело немаловажное...
Рад буду советам и примерам.
 

Alexandre

PHPПенсионер
По поводу посещаемости - для начала я думаю это будет не более 500 уникальных посетителей в день.
и еще сильно зависит от качества хостинга.
Если сервер свой, то это даже лучше время, чем у большинства скриптов.

приблизительный расчет производится сл. образом:

Пусть ср. посещаемость 1000 чел.
Пусть они все вместе просматривают 50 000 страниц.
Обычно бывает неравномерная нагрузка, т.е. 75% посещений с 10-18, пик приходится на 12-16 час (до 50% от всех посещений).
Это где-то 25 тыс просмотров на 4 часа = 6250 в час = 104 мин = 1.7 в сек
т.е. должен выполнятся запрос не более чем 580 мс
если скрипт выполеняется 0.015-0.3 мс, то никакой очереди не будет.

проверь с помощью ab результаты выполнения скрипта.
 

zerkms

TDD infected
Команда форума
Пусть ср. посещаемость 1000 чел.
Пусть они все вместе просматривают 50 000 страниц.
херасе, 50стр/чел

это ужасно много
ой ли?

Это нормально?
это никак

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

час на поиск 20символьного пароля по произвольному md5 - нереально быстро
0.01с на вывод 'hello world' - нереально медленно
 

ustas

Элекомист №1
Alexandre
> если скрипт выполеняется 0.015-0.3 мс, то никакой очереди не будет.

о какой очереди речь?
 

ustas

Элекомист №1
я думаю что все скрипты, когда хотят есть берут ложки и ходят в магазин через разные двери(потоки).
 

vovanium

Новичок
если скрипт выполеняется 0.015-0.3 мс, то никакой очереди не будет.
Тут чел скорее всего попутал единицы измерения, т.к. даже Hello World на P4 3 GHz выполняется ~0,04 мс.
 

dron4ik

Новичок
vovanium
специально протестил:)
PHP:
<?php
# Функция таймера
$time_start = getmicrotime();
for ($i=0; $i < 1000; $i++){/*1*/}

function getmicrotime() {
	list($usec, $sec) = explode(" ",microtime()); 
	return ((float)$usec + (float)$sec); 
}

echo "Hello World<br>";

$time_end = getmicrotime();
$time = $time_end - $time_start;
$timer=sprintf("%01.3f",$time);
echo "<font size=1 color=666666 face=tahoma>Сгенерированно  за <b>".$timer."</b> секунд";
?>
вывод:
Hello World
Сгенерированно за 0.002 секунд

это на PII - 233Mgz / 128 ram / Ubuntu

что я делаю не так?
 

vovanium

Новичок
Сгенерированно за 0.002 секунд
Ты наверное плохо учился и не знаешь, что 0.002 секунды это 2 миллисекунды. Теперь представь какой нужен монстрячий комп, чтобы скрипт который подключается к БД, доставал оттуда данные, генерил по шаблонам страницу и при этом выполнялся в 100 раз быстрее, чем твой хелло ворлд ;)

-~{}~ 21.12.07 00:12:

Что касается темы, то в 0,34 секундах нет ничего выдающегося, хотя конечно все зависит от того сколько и какой инфы выводит скрипт, а также на каком компе ты такие цифры получил.
Также зависит от того как тестить, с "пустой" базой или более близкой к реальности, т.е. к примеру там по несколько тысяч статей, новостей забито и т.п.
 

Alexandre

PHPПенсионер
я думаю что все скрипты, когда хотят есть берут ложки и ходят в магазин через разные двери(потоки).
правильно,
каждый вызываемый скрипт дергается HTTP запросом, которые передаются браузером поверх протокола TCP/IP.
упрощенно: каждый запрос представляет собой набор TCP/IP пакетов.
данные пакетики приходит на сетевой сервер, который их раздает приложениям в соответствии с их назначенными портами.
так вот, те пакетики, которые не успели на обслуживание к своему приложению (в нашем случае WEB-сервер), встают в системную очередь.
 

zerkms

TDD infected
Команда форума
которые не успели на обслуживание к своему приложению (в нашем случае WEB-сервер), встают в системную очередь.
число одновременно принимаемых апачем (или вообще вебсервером) запросов зависит от конфигурации сервера, а не времени генерации страницы
и tcp тут никаким боком
 
Сверху