Уменьшить время ожидания для сайта - PullRequest
4 голосов
/ 01 сентября 2011

Мы пытаемся создать новый веб-сайт, и когда я пишу ссылку на мой веб-сайт в браузере, например: www.mywebsite.com, время ожидания немного велико.

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

PS: точно так, как называется, idk, но я вижу это с firebug, ион говорит время ожидания.

Спасибо.

EDITED

Это коды, которые я использовал для получения данных из базы данных:

function f3($id = '') {
    $id = mysql_real_escape_string ($id);
    $sql = 'SELECT id,post_title,post_content,post_date,post_status,term_taxonomy_id,object_id FROM wp_posts, wp_term_relationships WHERE term_taxonomy_id = 60 AND post_status = "publish" AND wp_term_relationships.object_id = id ORDER BY post_date DESC LIMIT 1 OFFSET 2';
    $res = mysql_query($sql) or die (mysql_error());    

if (mysql_num_rows($res) !=0):
    $row = mysql_fetch_assoc($res); 


    $mycontent = $row['post_content'];
    $mycontent = strip_tags($mycontent);
    $mycontent = substr($mycontent,0,150);
    $mycontent = preg_replace("/\[caption.*\[\/caption\]/", '', $mycontent); 


    $title = AvinD($row['post_title']);

    $old_date = $row['post_date'];              // returns Saturday, January 30 10 02:06:34
    $old_date_timestamp = strtotime($old_date);
    $new_date = date('d.m.Y   H:i', $old_date_timestamp); 


    $first_img = '';
    $my1content = AvinD($row['post_content']);
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $my1content, $matches); 
    $first_img = $matches [1] [0];
    if(empty($first_img)){ //Defines a default image
    $first_img = "/img/default.png";
    }

    echo '
        '.$new_date.'

        <a href="single.php?id='.$row['id'].'"> '.$title.' </a> </div>
         <a href="single.php?id='.$row['id'].'"> <img src="timthumb.php?src='.$first_img.'&amp;h=107&amp;w=190amp;zc=1" alt="" />  </a> </div>
        '.$mycontent.'
    '; //echo

    else:
        echo 'Page dont exist';
    endif;
} // end 

Ответы [ 3 ]

4 голосов
/ 01 сентября 2011

Ну, ряд различных факторов может повлиять на время загрузки вашей страницы.Три самые большие из них:

  1. Серверная задержка
  2. Перегрузка контента
  3. Плохое программирование

Не имея больше информации о вашем сайте, яКратко опишу, как диагностировать и исправить эти три большие проблемы.Если вы предоставите ссылку на свой веб-сайт в комментарии к этому ответу, я могу быть более конкретным.

Отставание сервера

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

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

Перегрузка содержимого

Лучший пример этого - когда вы видите, как кто-то размещает тонны изображений на одной странице.Помните, что каждое добавляемое изображение требует от пользователя загрузки этого изображения до загрузки страницы.Это включает в себя теги <img>, а также background-image es.

Плохое программирование

Симптом этого будет аналогичен отставанию сервера, когда у вас естьподождать, пока контент не начнет загружаться.Это может быть вызвано несколькими причинами: медленным подключением к базе данных и несколькими вложенными циклами.Очень сложно диагностировать, не глядя на полный код.

1 голос
/ 01 сентября 2011

Многое зависит от того, что делает ваш сайт. Я рекомендую начать с профилирования. Это поможет вам точно определить ваши усилия для максимального усиления.

Вы также правильный путь с вкладкой Firebug Net , также проверьте Yslow .

В целом:

  • Проверьте загрузку ЦП сервера, задержку в сети (ping) и т. Д. Устраните все проблемы.
  • Получите больше оперативной памяти и / или используйте ее более эффективно. Из этого следует большинство пунктов ниже.
  • Кеширование дорогостоящих операций
  • Увеличение скорости работы базы данных
    • Уменьшить количество запросов, выполняемых на странице
    • Разделение базы данных на другой сервер (ы) для уменьшения конкуренции
  • Используйте обратный прокси / кеш для разделения запросов на несколько интерфейсных веб-серверов.
  • Разделение сервера приложений на собственные серверы.
  • Оптимизация ресурсов страницы для быстрой доставки
    • Объедините файлы CSS и JS в один файл.
    • Минимизировать их - удалить посторонние символы
  • Использовать сжатие Gzip для всех обслуживаемых текстовых файлов.
  • Использование CDN для разгрузки ресурсов в другие домены, значительно повышает производительность параллельной работы в современных браузерах.
    • Изображения должны подаваться из другого домена.
    • По возможности также CSS / JS.

Они подробно описаны по адресу:

0 голосов
/ 20 октября 2011

решения: для скрипта Slow: используйте firebug & YSlow Plugin для firefox, чтобы определить, что замедляет работу.Для Slow Server: используйте cloudflare , чтобы ускорить работу вашего сервера, или на 60%, или измените свой хостинг компани.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...