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