С нами с 26.02.08
Сообщения: 340
Рейтинг: 98
|
Добавлено: 08/02/11 в 10:57 |
ЦМС готовит код, который потом выдается клиенту следующим образом:
Код: |
foreach ($HTML as $Line) { echo($Line); }
|
Ставил опыты и получилось, что эта конструкция работает 0.2-0.3 секунды.
Этот код можно заменить чем-то более быстрым или тут все упирается в загрузку сервера и ширину канала?
Просто вначале у меня ЦМС при каждом обращении генерила страницы "налету" и это занимало у нее 0.3-0.5 сек. После того как я добавил кеширование, которое берет страницу из кеша за 0.0001 сек, общее время уменьшилось до 0.2-0.3 и получается что узким местом является приведенный кусок кода
Спасибо.
Последний раз редактировалось: Happy Oyster (08/02/11 в 11:16), всего редактировалось 1 раз
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 08/02/11 в 11:08 |
ниче непонятно. сделай профилирование нормально.
|
|
пришел к победе коммунистического труда
|
0
|
|
|
С нами с 26.02.08
Сообщения: 340
Рейтинг: 98
|
Добавлено: 08/02/11 в 11:14 |
Разобрался: узкое место-канал. При обращении с сервера все отдается на порядок-два быстрее.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 08/02/11 в 11:14 |
ага, ничего не ясно, нужно больше инфо
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 08/02/11 в 11:18 |
Твой канал чтоли?
|
|
|
|
С нами с 26.02.08
Сообщения: 340
Рейтинг: 98
|
Добавлено: 08/02/11 в 11:21 |
Цитата: | Твой канал чтоли? |
Фиг знает. На сервере 10 мбит из которых свободно примерно половина, на моей стороне 4 мбит.
Когда забираю морду сайта весом 30 кб от себя получается 0.4-0.3 сек, когда пробую с сервера: 0.025 сек
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 08/02/11 в 11:24 |
Happy Oyster писал: | Фиг знает. На сервере 10 мбит из которых свободно примерно половина, на моей стороне 4 мбит.
Когда забираю морду сайта весом 30 кб от себя получается 0.4-0.3 сек, когда пробую с сервера: 0.025 сек |
вообще скорость скриптов измеряется не каналом, а железом, к примеру CPU 3.0, 1Gb RAM
и выводишь время выполнения
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 08/02/11 в 11:30 |
Страница как я понял уже в кеше, вот и отдай её сразу целиком. Зачем этот метод?
|
|
|
|
С нами с 26.02.08
Сообщения: 340
Рейтинг: 98
|
Добавлено: 08/02/11 в 11:42 |
Цитата: | Страница как я понял уже в кеше, вот и отдай её сразу целиком. |
дык так и делаю
Код: |
$HTML=file("cache.html");
list($msec, $sec) = explode(chr(32), microtime());
$time = $sec + $msec;
foreach ($HTML as $Line) { echo($Line); }
list($msec, $sec) = explode(chr(32), microtime());
echo('<!-- Page generated in '.round(($sec + $msec) - $time, 4).' sec -->');
|
с удаленной машины 0.2-0.4 сек
с lynx на сервере 0.025 сек
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 08/02/11 в 11:50 |
Happy Oyster писал: | дык так и делаю
Код: |
$HTML=file("cache.html");
list($msec, $sec) = explode(chr(32), microtime());
$time = $sec + $msec;
foreach ($HTML as $Line) { echo($Line); }
list($msec, $sec) = explode(chr(32), microtime());
echo('<!-- Page generated in '.round(($sec + $msec) - $time, 4).' sec -->');
|
с удаленной машины 0.2-0.4 сек
с lynx на сервере 0.025 сек |
а почему не использовать include("cache.html"); ?
|
|
|
|
С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543
|
Добавлено: 08/02/11 в 11:51 |
Happy Oyster писал: | дык так и делаю
[code]
$HTML=file("cache.html");
foreach ($HTML as $Line) { echo($Line); } |
жёстко ты статику выводишь)
Код: |
$cache = 'cache.html';
...
if (file_exists($cache )) {
echo file_get_contents($cache);
}
...
|
там, с буферизацией ещё поиграться можно, gzip-ы вывода разные, тот же инклюд в зависимости от ситуации и особенностей и т.д.
Последний раз редактировалось: mr. snatch (08/02/11 в 11:53), всего редактировалось 1 раз
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 08/02/11 в 11:53 |
Зачем построчно? Дело конечно не в этом, но смысла так делать нет.
Попингуй свой рес, может проблемы у тебя в канале.
|
|
|
|
С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543
|
Добавлено: 08/02/11 в 12:04 |
так же, возможно что в твоём случае, что-то вроди этого
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 08/02/11 в 12:05 |
mr. snatch писал: | жёстко ты статику выводишь)
Код: |
$cache = 'cache.html';
...
if (file_exists($cache )) {
echo file_get_contents($cache);
}
...
|
там, с буферизацией ещё поиграться можно, gzip-ы вывода разные, тот же инклюд в зависимости от ситуации и особенностей и т.д. |
кстати да, лучше всего использовать http://ru.php.net/readfile
и скорость высокая и память кушает мало
|
|
|
|
С нами с 26.02.08
Сообщения: 340
Рейтинг: 98
|
Добавлено: 08/02/11 в 12:07 |
Спасибо mr. snatch - именно это я хотел узнать
|
|
|
|