Реклама на сайте Advertise with us

Нужен совет по оптимизации скорости своей ЦМС на ПХП (решен)

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 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 и получается что узким местом является приведенный кусок кода icon_sad.gif

Спасибо.

Последний раз редактировалось: Happy Oyster (08/02/11 в 11:16), всего редактировалось 1 раз

0
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 08/02/11 в 11:08       Ответить с цитатойцитата 

ниче непонятно. сделай профилирование нормально.

пришел к победе коммунистического труда

0
 



С нами с 26.02.08
Сообщения: 340
Рейтинг: 98

Ссылка на сообщениеДобавлено: 08/02/11 в 11:14       Ответить с цитатойцитата 

Разобрался: узкое место-канал. При обращении с сервера все отдается на порядок-два быстрее.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/02/11 в 11:14       Ответить с цитатойцитата 

ага, ничего не ясно, нужно больше инфо

0
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 08/02/11 в 11:18       Ответить с цитатойцитата 

Твой канал чтоли?

True хостинг

0
 



С нами с 26.02.08
Сообщения: 340
Рейтинг: 98

Ссылка на сообщениеДобавлено: 08/02/11 в 11:21       Ответить с цитатойцитата 

Цитата:
Твой канал чтоли?


Фиг знает. На сервере 10 мбит из которых свободно примерно половина, на моей стороне 4 мбит.

Когда забираю морду сайта весом 30 кб от себя получается 0.4-0.3 сек, когда пробую с сервера: 0.025 сек

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/02/11 в 11:24       Ответить с цитатойцитата 

Happy Oyster писал:
Фиг знает. На сервере 10 мбит из которых свободно примерно половина, на моей стороне 4 мбит.
Когда забираю морду сайта весом 30 кб от себя получается 0.4-0.3 сек, когда пробую с сервера: 0.025 сек


вообще скорость скриптов измеряется не каналом, а железом, к примеру CPU 3.0, 1Gb RAM
и выводишь время выполнения

0
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 08/02/11 в 11:30       Ответить с цитатойцитата 

Страница как я понял уже в кеше, вот и отдай её сразу целиком. Зачем этот метод?

True хостинг

0
 



С нами с 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 сек

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 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"); ?

0
 



С нами с 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 раз

removed by moderator

0
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 08/02/11 в 11:53       Ответить с цитатойцитата 

Зачем построчно? Дело конечно не в этом, но смысла так делать нет.
Попингуй свой рес, может проблемы у тебя в канале.

True хостинг

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 08/02/11 в 12:04       Ответить с цитатойцитата 

так же, возможно что в твоём случае, что-то вроди этого

removed by moderator

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 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
и скорость высокая и память кушает мало icon_smile.gif

0
 



С нами с 26.02.08
Сообщения: 340
Рейтинг: 98

Ссылка на сообщениеДобавлено: 08/02/11 в 12:07       Ответить с цитатойцитата 

Спасибо mr. snatch - именно это я хотел узнать

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »