1gb - .net, ASP, Windows, Apache, PHP хостинг
База документов / Технический регламент, правила / Быстродействие, ресурсы сервера / Если сайт открывается медленно

Если сайт открывается медленно

смотреть документ на языке:    на украинском украинский   на русском русский

Іноді трапляється наступна ситуація: Ваш ресурс працює повільно, незважаючи на те, що сервера хостингу не завантажені (це можливо зрозуміти після консультації зі службою підтримки). З цього документу ви дізнаєтесь причини цього явища і зможете прийняти рішення про ваші подальші дії.

1. Насамперед, поради

Ряд проблем можливо вирішити.

  • У нас є VIP хостинг, який дозволяє сайту відкриватися швидко навіть в тому випадку, якщо сам сайт зроблений погано або не пристосований для обмеженого хостингу. Послуга платна.
  • Перегляньте статтю Як отримати якісну роботу сайту?, можливо, це найшвидший спосіб вирішити ваше питання.
  • Прочитайте цю статтю повністю і пошукайте вашу проблему.
  • Якщо ви бажаєте глибше розібратися з проблемою - www.1gb.ua/wiki містить великий розділ, присвячений навантаженням і перенавантаженням - проблеми швидкодії і навантаження. У тому випадку, якщо ви бажаєте дізнатися причини проблеми, ви можете читати далі.

2. Що взагалі можливо отримати на загальному сервері?

Нормальна швидкість роботи сайту на загальному сервері віртуального хостингу - відкриття сторінки за 2-5 секунд. Зазвичай сайт відкривається набагато швидше, типово, веб-сервер обслуговує понад 98% запитів до сторінок сайту менш ніж за долі секунди, але навантажений сайт може відкриватися 2-5 секунд і це є нормальною швидкістю його роботи.

У тому випадку, якщо сервер зайнятий або ви виконуєте особливо важкий для сайту запит, відкриття сторінки може займати 5-15 секунд, це не має відбуватися часто, але якщо сайт іноді відкривається з такою швидкістю, то це є нормальним.

  • У нас є VIP хостинг, який дозволяє сайту відкриватися швидко навіть в тому випадку, якщо сам сайт зроблений погано або не пристосований для обмеженого хостингу. Послуга платна.

3. Швидкість роботи сайту та відвідуваність

Швидкість роботи сайту значно залежить від його відвідуваності. Чим ВИЩЕ відвідуваність сайту, тим ЗНАЧНО ШВИДШЕ він буде працювати.

Вірно і зворотнє: якщо відвідуваність сайту близька до нуля (тобто сайт відкривається рідше ніж один раз в 10-20 хвилин), то домогтися його швидкої роботи значно важче. Сервер просто не готовий швидко сформувати сторінку сайту, так як дані сайту не знаходяться в пам'яті сервера і не готові до швидкої роботи. Зчитувати дані з жорсткого диску значно повільніше.

Сайт, відвідуваність якого дуже низька, перший раз може відкриватися довго, до 30-60 секунд. Це неминуча проблема сайту з низькою відвідуваністю - "холодний старт". Ви можете або просто дочекатися реальної роботи вашого сайту, тоді його швидкість прийде в норму, або створити штучну відвідуваність. Наприклад, за допомогою розділу особистого кабінету "повний список функцій", "виконання скриптів за розкладом (CRON)", налаштувавши вхід на головну сторінку вашого сайту раз в 3-5 хвилин. Робити не рекомендується, так як це зайве навантаження на ваш сайт.

У будь-якому випадку, швидкість роботи сайту з малою відвідуваністю буде істотно плавати. Ефект "холодного старту" на загальному сервері неминучий.

Якщо ви бажаєте домогтися швидкої роботи такого сайту, вам потрібна технологія віртуального виділеного сервера з жорстким поділом ресурсів - це www.1gb.ua/phv. Технологія віртуалізації OpenVZ (www.1gb.ua/pvz) в даному випадку не допоможе вирішити проблему.

4. Проблеми бази даних (навантаження на диск)

Сайт зі складною базою даних може працювати повільно через проблеми з базою даних. Найчастіше це відбувається тому, що запити до бази даних не пристосовані до віртуального хостингу. Подивіться "повний список функцій", "повільні SQL запити", можливо це допоможе вам зрозуміти проблему.

Перегляньте також статтю проблема повільних SQL запитів.

4.1 Вирішення, перспективи

Швидше за все, вам потрібний свій mySQL сервер. Це можливо отримати або на своєму фізичному сервері (бажано, у нас немає таких послуг), або на віртуальному сервері - див. www.1gb.ua/phv і www.1gb.ua/pvz.

5. Проблеми веб-сервера (навантаження на процесор)

Якщо ваш сайт вимогливий до процесора (це може бути зрозуміло зі "статистики процессорного навантаження" в особистому кабінеті), то зрозуміти проблему вам допоможе цей розділ.

5.1 Терміни

Час виконання скрипта - час, за який сервер формує вміст сторінки сайту. Процесорний час - час роботи вільного від інших завдань процесора, який потрібний для виконання скрипта.

Приклад: Якщо процесор сервера не зайнятий, процесорний час приблизно дорівнює часу виконання скрипта. Якщо процесор сервера зайнятий на 50%, час виконання скрипта буде в два рази більше процесорного часу, який витрачається на генерацію сторінки.

5.2 Принципи роботи сервера

Суть послуги віртуального хостингу полягає в тому, що на одному фізичному сервері працює безліч сайтів. Сервер здатний обробити близько сотні запитів в секунду, і цими ресурсами сервера користуються сайти клієнтів. Середнє навантаження сервера підтримується на такому рівні, щоб сервер ніколи не був зайнятий на 100%, при цьому на кожен новий запит клієнта гарантуються вільні серверні ресурси, що дозволяють його обслужити.

У нормальному режимі роботи на один запит на сторінку сайту (скрипта) зазвичай витрачається в середньому близько 1% ресурсів сервера, від 0.01 до 0.1 секунд процесорного часу. Сервер хостингу не призначений для ресурсоємних операцій запитів.

Оскільки одночасно виконуються десятки процесів, реальний час генерації сторінки в кілька разів більше процесорного часу, який потрібен для роботи скрипта.

Приклад: Стандартним загальноприйнятим часом генерації сторінки порталу PHP Nuke або форуму PHPBB є від 0.2 до 0.5 секунд - це вважається нормальною і навіть хорошою швидкістю генерації сторінки. Однак повністю вільний сервер зміг би впоратися з такою операцією набагато швидше, майже миттєво, адже типовий процесорний час на генерацію сторінок цих проектів - від 0.03 до 0.1 секунди.

5.3 Ресурсоємні скрипти

Деякі системи працюють таким чином, що обробка одного запиту може займати значний процесорний час. Наприклад, обробка пошукового запиту форуму PHPBB може займати близько 1 секунди процесорного часу. Така «важка» сторінка формується від 3 до 10 секунд, в залежності від завантаження сервера. Як виняток для побудови окремих складних сторінок проекту така затримка є нормальною.

Деякі портальні системи, серед них Wordpress, "Бітрікс", деякі інші, споживають близько 0.5 - 1 секунди процесорного часу на створення кожної сторінки, включаючи головну сторінку проекту. Це принциповий недолік (помилка), яку допустили розробники цих систем, або програміст проекту, якщо система сайту - його власна розробка. Для нашого прикладу, якщо сервер абсолютно вільний, сторінка буде сформована за секунду (але не швидше!). Це вже не є гарним результатом. На практиці для нормально працюючого сервера хостингу (що працює в штатному режимі), без додаткових заходів щодо покращення швидкості роботи CMS, формування такої сторінки може займати від 3 до 10 секунд.

Виходячи з принципів роботи віртуального хостингу, які описані вище, більш швидка генерація сторінок сайтів для таких проектів, за замовчуванням, неможлива. У тому унікальному випадоку, якщо сервер хостингу вільний більш ніж на 80% і помітних конкурентів у вас немає, час генерації сторінок може тимчасово підніматися до 1 - 2 секунд. Однак не потрібно тішити себе, жоден провайдер віртуального хостингу не підтримує таке низьке навантаження серверів.

5.4 Вирішення, перспективи

Для прискорення роботи подібного проекту є єдиний варіант - виділений сервер, процесор якого не завантажений обробкою інших запитів. Таким чином, час генерації сторінок буде порівняна з процесорним часом.

Частково допоможе віртуальний виділений сервер (www.1gb.ua/phv, повна віртуалізація, або в меншій мірі www.1gb.ua/pvz, часткова віртуалізація)

Зауважимо, однак, що навіть в режимі виділеного сервера можлива генерація не більше 45 сторінок в хвилину - більше не дозволить процесор. Це дає всього близько 25 000 відвідувань в звичайний 10 годинний день (близько 5 000 - 10 000 унікальних користувачів) навіть на виділеному сервері. Для серйозного проекту це дуже маленькі цифри. Якщо на генерацію однієї сторінки вашого проекту потрібно більше 0.5 секунд процесорного часу - це тривожний знак, який свідчить про те, що у вашого проекту складне майбутнє, і вам потрібно задуматися про технології і системи, які ви використовуєте.

 

отправить комментарий, замечание, поправку
 


 

Ми завжди готові відповісти на ваші запитання
 
  • Будь-які запитання та підтримка - support@1gb.ua
  •  

     
       
     
    Наверх     
    Поддержка: support@1gb.ua