Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Проблема с веременм загрузки страницы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Проблема с веременм загрузки страницы
Имя
Сообщение << Старые топики   Новые топики >>
Проблема с веременм загрузки страницы - 2011-07-28 13:06:28.483333   
yarik2oo9

Сообщений: 1
Оценки: 0
Присоединился: 2011-07-28 13:02:41.516666
Использую на сайте подключение к базе данных около 4-8 + 8(стандартные от cms) в зависимости от страници.
 Время загрузки сайта может идти от 1.684 сек до 8.8 сек.

 Использую include как способ вывода блока и данных.
Вот основной запрос:

&lt;?php include('db.php'); $result = mysql_query("SELECT * FROM `teams` ORDER BY `teams`.`id` DESC LIMIT 0 , 5"); echo "&lt;table class=\"newteams\"&gt;"; $myrow = mysql_fetch_assoc($result); if($myrow['id'] != ""){ echo "&lt;tr&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['status']."\" class=\"s\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['country']."\" class=\"c\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=\"color: #444;\"&gt;".$myrow['tag']."&lt;/span&gt;&lt;/b&gt;&lt;/tr&gt;"; } else {echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;";} $myrow = mysql_fetch_assoc($result); if($myrow['id'] != ""){ echo "&lt;tr&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['status']."\" class=\"s\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['country']."\" class=\"c\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=\"color: #444;\"&gt;".$myrow['tag']."&lt;/span&gt;&lt;/b&gt;&lt;/tr&gt;"; } else {echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;";} $myrow = mysql_fetch_assoc($result); if($myrow['id'] != ""){ echo "&lt;tr&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['status']."\" class=\"s\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['country']."\" class=\"c\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=\"color: #444;\"&gt;".$myrow['tag']."&lt;/span&gt;&lt;/b&gt;&lt;/tr&gt;"; } else {echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;";} $myrow = mysql_fetch_assoc($result); if($myrow['id'] != ""){ echo "&lt;tr&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['status']."\" class=\"s\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['country']."\" class=\"c\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=\"color: #444;\"&gt;".$myrow['tag']."&lt;/span&gt;&lt;/b&gt;&lt;/tr&gt;"; } else {echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;";} $myrow = mysql_fetch_assoc($result); if($myrow['id'] != ""){ echo "&lt;tr&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['status']."\" class=\"s\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td style=\"vertical-align: center; width: 25px;\"&gt;&lt;img src=\"".$myrow['country']."\" class=\"c\" align=\"middle\" /&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=\"color: #444;\"&gt;".$myrow['tag']."&lt;/span&gt;&lt;/b&gt;&lt;/tr&gt;"; } else {echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;";} echo "&lt;/table&gt;"; ?&gt;
Результат дебага:
ОЗУ: 1804 Кб. Страница сгенерирована за 0.861 секунд(ы). Использовано запросов: 10. GZIP включен.

Зарание спасибо!
Post #: 1
RE: Проблема с веременм загрузки страницы - 2011-07-28 23:52:48.500000   
tеstеr

Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
Советую тебе:
1. Заменить * в запросе на список полей: id, status, country, tag
2. Вынести условие id != "" в sql-запрос: where id is not NULL - зачем тебе отображать пустые строки, и при каких таких условиях id будет пустым?
3. Использовать цикл
while ($myrow = mysql_fetch_assoc($result)) {

}
4. Не используй генерацию форматирования на сервере, всё переклаывай на клиента, именно для этого придмали CSS. Нафига ты тратишь память сервера на то, чтобы генерировать мусор вида
style=\"vertical-align: center; width: 25px;\"
align=\"middle\"

не надо этого делать.
5. Вообще для 5-ти строк по 4 колонки в каждой, надо сделать fechAll() в массив один раз, потом преобразовать весь массив в одну строку циклом, и после цикла один раз сделать вывод полученной строки. Минимум вызовов функций ввода-вывода - максимум быстродействия.


ё-моё, не по теме я тут написал. Может gzip не нужен для динамического содержимого. Тем более содержимого почти нет. Форматирование выесешь в CSS, содержимого вообще не останется. А если подключишь акселератор + прочитаешь то, что я пытался выше написать, то формирование страницы будет делаться быстрее чем 0.86 секунды, это же почти 1 секунда - много.
Post #: 2
RE: Проблема с веременм загрузки страницы - 2011-07-29 11:15:14.450000   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Выше все правильно
+ самое простое надо просто посмотреть сколько отдельно выполняется ваш запрос "SELECT * FROM `teams` ORDER BY `teams`.`id` DESC LIMIT 0 , 5" на SQL сервере - если он выполняется 8 секунд, то понятно откуда тормоза, если 0.1 - то дальше смотреть
Post #: 3
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Проблема с веременм загрузки страницы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.