Почему не работает сайт? — RU-CENTER

Почему не работает сайт? - RU-CENTER Хостинг
Содержание
  1. Что можно улучшить/добавить?
  2. Что такое нагрузка на vps
  3. Почтовый сервер создает нагрузку на процессор
  4. — андрей, какой хостинг порекомендуешь для нашего сайта?
  5. Apache создает нагрузку на процессор
  6. Dns-сервер создает нагрузку на процессор
  7. Fastest cache
  8. Heartbeat api
  9. Litespeed cache
  10. Total cache
  11. В списке процессов (top, ps) висит большое количество дочерних процессов apache или потоков php-cgi. или процессы apache создают высокую нагрузку на цп.
  12. Виды нагрузки
  13. Для apache
  14. Для nginx
  15. Если не работает регистратор доменных имен
  16. Если хостинг перестанет работать с вами
  17. Инструменты для анализа работы сервера
  18. Использование турбо-страниц от яндекса и amp от гугла
  19. Итак, ближе к делу
  20. Как переехать на другой хостинг
  21. Как проверить нагрузочную способность хостингов
  22. Как это работает?
  23. Какой регистратор выбрать
  24. Какой хостинг выбрать
  25. Какую нагрузку выдерживают хостинги
  26. Кибератаки
  27. Лучший метод диагностики проблем
  28. Мои советы по выбору хостинга
  29. Мой опыт использования cdn (content delivery network)
  30. Мониторинг виртуального сервера
  31. На сайте белая страница
  32. Неизвестные процессы создают нагрузку на сервер (память, процессор, диск)
  33. Оптимизация программ, сервисов и субд
  34. Ошибка «сервер не найден»
  35. Ошибка подключения к базе данных

Что можно улучшить/добавить?

1. На register_globals не ругайтесь, этот скрипт для локального доступа (не снаружи)

2. Интерфейс пользователя получше бы

3. Не хватает сведения воедино выборки сайта и торировочного сайта

4. Можно добавить слежение за ключевой фразой на странице, гарантирующей нормальную работу БД проверяемого сайта

5. Уведомлений о сбоях

6. Более «правильный» скрипт очистки от тегов смысловой части сайта

7. Кнопки общей приостановки скрипта watchdog’a в случаях, когда надо экстренно снизить нагрузку на основной сервер

Аналогичные сервисы есть, даже проверяющие почту и доступность ftp, но часто они на западных серверах, и довольно сложны. Наш собственный скрипт мы успешно интегрировали в кабинет клиента, и внутренние отчеты ежемесячные, и вообще довольны его простотой и незамысловатостью.

Что такое нагрузка на vps

Нагрузка на сервер — количественная оценка характеристик ресурсов хостинга, расходуемых во время выполнения текущих задач. Иными словами, это процент загрузки ресурсов сервера — процессора (CPU), оперативной памяти (RAM или ОЗУ) и дискового пространства.

Почтовый сервер создает нагрузку на процессор

Вероятнее всего, с вашего почтового сервера рассылается спам. Посмотреть очередь сообщений можно с помощью команды mailq. Используя идентификаторы из вывода команды, можно посмотреть письма в очереди. Для exim, например, это делается командами exim -Mvb (покажет тело письма)

  • exim: /var/log/exim/mainlog
  • sendmail: /var/log/maillog

Основные причины отправки спама с сервера:

  • взлом почтового ящика (необходимо сменить пароли);
  • взлом сервера и загрузка скриптов, рассылающих спам (можно определить по заголовку письма X-PHP-Script);
  • намеренная рассылка спама одним из пользователей.

— андрей, какой хостинг порекомендуешь для нашего сайта?

И ответить нечего, потому что все (все!) наши замеры не в пользу хостинговых компаний, даже никого конкретно приводить не буду — сами сможете проверить, выполнив рекомендации в этой статье.

Казалось бы, где зарыта собака? Ведь для нас хостинг – это одна из любимейших мозолей, на которую часто наступают, потому что мы – SEOнизаторы. Мы трудимся – чтобы выводить свои сайты и клиентов в топы, а плохой и нестабильный хостинг распугивает сканирующих роботов Яндекса, Гугла и иже с ними.

Вот самое простое, что бывает – сайт исправно работает днём, пока бдит саппорт хостера. А ночью иногда исправно «лежит» в нокдауне. Например, скрипты хостера делают бекапы и все перегружено. Клиенты спят, покупатели спят, сайт спит. Все довольны, кроме поисковых пауков.

Первое, что мы сделали – купили свой дорогой сервер и отвезли его к Каравану (спасибо ребятам за отличное качество колокейшн). Но сервер у нас не резиновый, и как услугу хостинг мы не предоставляем. Поэтому пустить всех наших и не можем.

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

Apache создает нагрузку на процессор

Такое возникает при неправильной работе скриптов (см. выше), работе с аудио/видео или использовании mod_gzip для сжатия данных. Попробуйте отключить сжатие данных или оптимизировать скрипты.

Dns-сервер создает нагрузку на процессор

Вероятнее всего, сервер подвергся DNS Amplification атаке. Атака подробно описана в статье.

Чтобы избежать атаки необходимо добавить в конфигурационный файл DNS-сервера опцию allow-transfer в которой перечислить только доверенные ip-адреса серверов.

Для дистрибутивов CentOS также присутствует ошибка в старых версиях named. Исправляется добавлением в конфигурационный файл строчки:

managed-keys-directory "/var/named/dynamic";

Fastest cache

Следующим шагом я заменила Total Cache на Fastest Cache. И я сразу ощутила эффект, на следующий же день нагрузка отскочила вниз. Fastest Cache сохраняет все страницы в виде html, я поставила срок перегенерации кеша раз в неделю. Настройка плагина очень простая, буквально несколько галочек поставить нужно и всё.

Минификацию я не включила даже с установкой Fastest Cache. CSS и JS я сжала вручную онлайн. Я заплатила за платную версию, чтобы перенести загрузку файлов скриптов в footer, хотя на самом деле это типичный развод на деньги, брать 49$ за такую маленькую функцию. Я даже сама знаю в каком месте кода надо прописать несколько букв, чтобы достичь означенного результата.

Heartbeat api

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

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

Полное отключение HeartBeat API снижает нагрузку на сервер, но приводит к потере данных в случае форс мажора.

Litespeed cache

В 2020 году я перешла на использование LiteSpeed Cache. Этот плагин снизил нагрузку на сервер в 2 раза прямо сразу, но для того чтобы его использовать мне пришлось перенести сайт на новый хостинг. Чтобы плагин заработал необходим вебсервер OpenLiteSpeed, он есть не на всех хостингах.

Ниже графики нагрузки. 10 апреля 2020 я переключила сайт на новый хостинг. По вертикальной оси отложены минуты на обеих графиках. Посещаемость практически одинаковая. Причем я и по окончании сотрудничества с Sweb много работала с сайтом, т.к. перешла на новую тему и возилась с настройками и по началу я много работала с сайтом на fozzy, полностью сбрасывала кеш по 3-4 раза в день.

График нагрузки на сервер Sweb (было)
График нагрузки на сервер Sweb (было)

Плагин кеширования нужно подбирать. Total Cache предназначен больше для выделенных серверов, для виртуального хостинга это плохое решение.

Total cache

Подходящий под хостинг плагин кеширования создаст наибольший выигрыш среди всех предпринятых мероприятий. Не все плагины кеширования одинаково эффективны. Для начала я поставила продвинутый Total Cache и была разочарована. Во-первых, у него очень сложная настройка, во-вторых я не заметила скачка нагрузки вниз.

На виртуальном хостинге минификация быстрее вызовет нагрузку, чем снизит её. Некоторые мои статьи были слишком длинными, на моём тарифе не хватало оперативной памяти для минификации страниц. Это было отлично видно в логах сервера. После отмены минификации нагрузка чуть снизилась. И я пользовалась плагином Total Cache год, пока посещаемость сайта опять не выросла.

В списке процессов (top, ps) висит большое количество дочерних процессов apache или потоков php-cgi. или процессы apache создают высокую нагрузку на цп.

Возможные причины и варианты решения:

Неправильная настройка ограничений для веб-сервера. Необходимо проверить параметры MaxClients и MaxSpareServers. Оптимальное значение MaxClients можно рассчитать по формуле

MaxClients=M×0,8/H

М — общее количество памяти
H — количество памяти, потребляемое одним процессом Apache

Эти значения можно узнать из вывода команды top. MaxSpareServers на VDS не рекомендуется устанавливать выше 10. Ограничения устанавливаются в конфигурационных файлах:

Стоит обратить внимание на то, что настройки разделены по модулям, в зависимости от MPM, который использует Apache. Узнать это можно из вывода команды apachectl -V (строка Server MPM).

При низком значении MaxClients, сервер может не успевать обрабатывать запросы. При этом в логах веб-сервера будут появляться записи вида:

[Sat Jun 25 14:14:17 2022] [error] server reached MaxClients setting, consider raising 
the MaxClients setting

Важно найти оптимальное значение данной директивы.

Возможно, ваш сервер ресурс стал жертвой DDoS-атаки. DDoS-атаки стали одним из самых дешевых и надежных средств «борьбы с конкурентами». Процесс обнаружения и борьбы с DDoS подробно описан в следующих статьях:

Рост посещаемости ресурса или повышенная нагрузка из-за индексации. Отслеживать посещаемость ресурса можно с помощью сторонних сервисов, таких как: Яндекс.Метрика, Google Analytics или счетчиков LiveInternet.

Также полезно анализировать access-логи сайтов. Они расположены:

Виды нагрузки

  1. На базу данных.
    Чем вызвано: тяжелые SQL-запросы, отсутствие оптимизации и некорректные настройки конфигурационного файла.
  2. На веб-сервер.
    Чем вызвано: увеличение посещаемости интернет-ресурса, находящегося на VDS.

Для apache

Директивы (инструкции), которые управляют кешем Apache, можно прописать в файл виртуального хоста или .htaccess (файл дополнительной конфигурации) проекта. Оптимальным является второй вариант.

Для этого нужно открыть файл .htaccess и внести строки:

Далее требуется активировать Expires-модуль при помощи команды sudo a2enmod expires и перезапустить web-сервер: sudo service apache2 restart.

После этого следует включить модуль, указав:

ExpiresActive On

Для nginx

Настройка кеширования для web-сервера Nginx заключается в редактировании конфигурационного файла. К его коду нужно добавить:

Если не работает регистратор доменных имен

Алгоритм действий при переносе домена у разных провайдеров не отличается.

  1. Зарегистрируйте учетную запись (аккаунт) на сайте нового регистратора.
  2. Откройте раздел «Домены» и найдите инструмент для переноса домена. Обычно они называются «Перенос», «Перенести», «Разместить домен на NS серверах». Например, у провайдера Beget есть раздел «Перенос домена»:

У многих провайдеров есть инструменты для быстрого переноса домена

Перенести домен в Beget можно в разделе «Управление доменами и поддоменами»

Достаточно указать один или несколько доменов, затем нажать «Перенести».

Для переноса домена к другому регистратору обязательно понадобится auth-код

Укажите auth-код для переноса домена

Вас попросят ввести Auth-код (он же EPP-ключ) – это код, созданный регистратором, чтобы помочь идентифицировать владельца доменного имени. Способ получения auth-кода может различаться в зависимости от текущего регистратора. В любом случае код вы найдете в административной панели регистратора.

Beget, как и другие провайдеры, самостоятельно определит текущего регистратора доменного имени и выведет подсказку, где получить auth-код:

Auth-код (он же EPP-ключ) – это код, созданный регистратором, чтобы помочь идентифицировать владельца доменного имени

Подробная инструкция, как перенести домен от регистратора RU-CENTER

Введите код, нажмите «Продолжить» и следуйте подсказкам мастера.

Если хостинг перестанет работать с вами

Необходимо как можно скорее сделать бэкап всех файлов сайта и его баз данных, а затем перенести их на российский хостинг.

Инструменты для анализа работы сервера

*NIX утилиты. Чтобы локализовать проблему, необходимо провести анализ работы сервера. Примерную картину происходящего можно получить в панели VMmanager, раздел Статистика → Нагрузка VM, или с помощью панели ISPmanager, раздел Состояние системы → Информация о системе. Для более детального анализа требуется работа в консоли.

Один из самых доступных и простых в использовании средств мониторинга в Unix — команда top. Команда выдаст информацию о работе сервисов в реальном времени. Нас интересуют столбцы COMMAND (команда, выполняемая на сервере), %CPU (какой процент ресурсов центрального процессора использует сервис)

, %MEM (какой процент памяти использует сервис). Кроме этих столбцов следует обратить внимание на строки load average (la, среднее количество процессов, ожидающих выполнения за последние 1, 5 и 15 минут), Mem (количество свободной и используемой памяти).

Список процессов и потребление ресурсов также можно посмотреть командой ps auxw.

Чтобы узнать количество свободной и используемой памяти, на ОС Linux также можно воспользоваться командой free -m.

Команда vmstat выдает информационный отчет об активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора. Вывод vmstat сложнее в понимании.

Нагрузку на диск можно посмотреть следующим образом:

  • Для FreeBSD можно запустить команду top -mio. В выводе нас больше всего будут интересовать столбцы COMMAND и PERCENT (процент загрузки диска командой). Также можно использовать команды gstat и iostat.
  • Чтобы определить процесс, который нагружает диск в Linux, можно использовать команду iotop. Вывод покажет процент загрузки диска сервисами, работающими на сервере.

Модули Apache. Веб-сервер Apache является главным звеном в обеспечении работоспособности сайта. Именно этот сервис занимается отдачей контента пользователю. Для Apache существует множество модулей. Такие модули, как mod_performance и mod_status позволяют определить, какие скрипты создают наибольшую нагрузку.

Лог-файлы. Проблему не всегда можно распознать «на глаз». Полезным, также, бывает чтение лог-файлов сервера. Их местоположение зависит от используемой операционной системы и настроек сервисов.

Использование турбо-страниц от яндекса и amp от гугла

Я настроила себе обе эти опции еще осенью 2022 года. Но явного снижения нагрузки на сервер не заметила. Многие жалуются напротив на возрастание нагрузки из-за постоянного сканирования страниц amp гуглом и турбо-страниц яндексом. При использовании яндекс-турбо нужно кешировать rss-ленты.

Вообще я уже почти жалею, что я связалась с быстрыми страницами от гугла и яндекса. Реально я потеряла на этом изрядную сумму, потому что настройка размещения рекламы в несколько этапов продолжалась чуть ли не 4 месяца, пришлось купить еще один плагин за 30$ для размещения рекламы на amp, мучать свой мозг настройкой  adfox для показа рекламы на турбо-страницах.

Один раз после обновления плагина amp, всё пропало, на страницах amp появилась ошибка и вся посещаемость c amp благополучно перешла на обыкновенные страницы. Ничего не поменялось. Общая посещаемость осталась на том же уровне.

Использование технологий турбо-страниц от яндекса и amp от гугла никак не повлияло на нагрузку на сервер и посещаемость. Поэтому не советую.

Итак, ближе к делу

Скрипт прост до безобразия, а исходники сырые и не причесанные, не смотря на помощь нашего хабрадруга

‘a. Просим не пинать сильно за это.

Итак, архив с сорцами (PHP MySQL), 11 kb zip. Все открытое, без обфускаторов.

Как переехать на другой хостинг

Для начала вам понадобится резервная копия следующих данных.

  • Все файлы сайта. Самый простой вариант получить их – использовать встроенный файловый менеджер в административной панели текущего хостинга.
  • E-mail (опционально, если вы использовали почтовые сервисы на прежнем хостинге).
  • Базы данных. В большинстве хостингов импортировать дамп БД MySql не составит труда. Все делается через административную панель.

Хостинги могут иметь как собственные, так и сторонние файловые менеджеры

Так выглядит файловый менеджер Sprutio

Многие хостинги позволяют сделать быстрое копирование всех перечисленных данных в разделе «Резервное копирование данных» (еще он может называться Backup).

Большинство хостингов позволяет быстро скопировать все файлы сайта

Раздел Backup на одном из российских хостингов

Когда данные успешно скопированы, можно задуматься о переходе на новый хостинг. Если вы решились на переезд, нужно удалить сайт из административной панели старого хостинга:

На любом хостинге есть раздел «Сайты», откуда осуществляется управление сайтами, прилинкованными к доменам

Удаление сайта на хостинге Beget

И начать развертывание файлов сайта на новом хостинге. Вот порядок действий:

  • зарегистрируйте учетную запись на сайте нового хостинга, если вы не сделали этого ранее;
  • пройдите авторизацию в административной панели;
  • найдите раздел «Сайты».

Многие хостинг-провайдеры позволяют перенести сайт от другого хостера автоматически.

Если автоматический перенос сайта с другого хостинга на выбранном вами хостере не предусмотрен, порядок действий следующий:

  • Создайте новый сайт в административной панели нового хостинга:

Нужно добавить новый сайт в административной панели хостинга

  • Откройте встроенный файловый менеджер в административной панели.

Во многих хостингах есть встроенный файловый менджер

Файловый менеджер Sprutio

  • Найдите папку с созданным сайтом.

Задача – перенести файлы сайта в созданную папку

Находим папку созданного сайта

  • Скопируйте в нее файлы сайта, которые получили от старого хостинга.
  • Экспортируйте базу данных MySql сайта. Проверьте настройки подключения БД и права доступа для нее. Если вы не знаете, как это сделать, создайте тикет в саппорте. Сайт (файлы и БД MySql) перенесут автоматически.

Вы всегда можете связаться с поддержкой нового хостинга и уточнить, как проще всего перенести сайт.

Как проверить нагрузочную способность хостингов

При первом запуске открывается мастер создания первого проекта (у меня всё на английском, но вроде я дал ссылку на русскую версию), на первом шаге нужно выбрать тип нарастания нагрузки:

  • Ramp-up – постепенное,
  • Constant – постоянное,
  • Periodic – периодически меняющаяся.

Выбираем «Ramp-up» и на втором шаге настраиваем его:

Как это работает?

Каждый заход крона на проверку хостинга имеет уникальный номер. Сайты опрашиваются в случайном порядке. Это гарантирует работу скрипта в условиях подвисания одного отдельного сайта. Если «тарировочный» сайт сбоит одновременно с проверяемым – делаем вывод, что глючил не проверяемый сайт, а сам наш сервер, и эту выборку отбраковываем. Сравнение выборок делаем по полю sample_id в базе bones.

Вот так выглядит список «собак»

Вот пример сбоев за последние 7 дней

Статистика достаточно хороша, утренние задержки – как раз запуск бэкапа.

Какой регистратор выбрать

Вот самые надежные российские регистраторы доменных имен, серверы которых находятся на территории РФ:

Какой хостинг выбрать

Собрали список российских хостинг-провайдеров, которые точно будут работать. Что важно, их серверы расположены на территории РФ.

Какую нагрузку выдерживают хостинги

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

Самая большая загвоздка — это то, что в тарифах какого угодно хостинга нельзя прочитать, сколько он потянет, а тем более примерить эти цифры для своего сайта. В основном, вообще не пишется ничего на этот счёт. Иногда пишут на каких тарифах сколько «попугаев процессора» тебе полагается.

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

Кибератаки

DDoS-атаки киберпреступников могут привести к существенной перегрузке сервера. Основным способом защиты является механизм фильтрации входящего трафика, который обеспечивает хостер.

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

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

Если в логах видно, что кто-то пытается перебирать пароли, стоит поставить плагин безопасности и забанить всех переборщиков. Плагин безопасности для сайта на вордпресс обязательная вещь, пока я его не поставила, сайт регулярно взламывали.

Логи сервера следует периодически просматривать это одно из самых эффективных мероприятий в борьбе с нагрузкой.

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

Мои советы по выбору хостинга

Не бойтесь переезжать, набейте себе руку развёртыванием сайта у разных хостеров, и этот процесс станет максимально прозрачным. Я знаю, страшно менять NS-сервера на новые. А вдруг в «реале» что-то пойдёт не так? Но есть способ как перенести сайт без рисков неудачи.

Такой момент, что большинство используют на сайтах плагины кэширования. Так вот стоит понимать, что нагрузка будет в разы отличаться при включённом и отключённом кэше. Я тестировал и так и так, выбирал чтобы всё было гладко и без кэширования. Если всех проверять с включённым кэшем, то картинка будет более ровной.

Мой опыт использования cdn (content delivery network)

Я дождалась очередного злостного письма от своего хостера Sweb. В связи с наступлением активного туристического сезона посещаемость моего сайта скачкообразно возросла и нагрузка на сервер, создаваемая процессами на моем сайте достигла критической величины 120 минут в сутки, напомню что согласно договору моему сайту положено было потреблять всего 60 минут процессорного времени в сутки.

Sweb предложил мне перейти на другой тариф стоимостью всего 800 руб. в месяц!!! Эта не гуманная сумма меня никак не устраивала, тогда я платила всего 120 руб. в месяц, повысить цену почти в 6 раз, это грабеж. В результате жаба меня задушила и я решила попробовать CDN от CloudFlare, в конце концов другого выхода у меня не было.

У  CloudFlare есть бесплатный тариф, именно на него я и подключилась. Больше всего беспокойства вызывало требование переписать на  CloudFlare мои DNS записи, но я сделала это, и в результате вы видите на графике нагрузка на сервер существенно снизилась до порога который Sweb склонен прощать. Момент подключения CDN  я отметила зеленой меткой на картинке.

Я конечно ожидала большего, мне мечталось увидеть цифру 30 минут в сутки, но этого не произошло. CDN это система серверов по всему миру на которые копируется ваш сайт и при запросе, например идущем из США, отвечает сервер расположенный в США, а не в Санкт-Петербурге, что должно сократить время загрузки сайта и попутно этот метод сокращает нагрузку на мой сервер.

Кроме системы доставки контента CloudFlare предлагает еще защиту от DOS-атак, аналитику и минимизацию html, css, и js.  Вот тут я включила минимизацию, раз CloudFlare берет это все на себя.

Бесплатный аккаунт  CloudFlare имеет ряд ограничений, что вполне естественно. За один запрос посетитель может загрузить с CloudFlare не более 100Мб и сервера обновляются в течении 24 часов. Т.е. если продать ссылку покупатель увидит ее не сразу, а в течении 24 часов.

Из недостатков CloudFlare я заметила следующие:

Мониторинг виртуального сервера

Мониторинг VPS — систематический сбор и обработка информации о степени загрузки с разных учетных записей ресурсов виртуального сервера. Мониторинг позволяет предотвратить развитие негативных последствий сбоев работы сервера ещё на начальном этапе. Для этого чаще всего нужно либо оптимизировать аккаунт, создающий повышенную нагрузку, либо расширить его ресурсную базу.

На сайте белая страница

Белая страница может означать, что во время исполнения скрипта произошла ошибка. Попробуйте включить отображение ошибок (см. статью Диагностика и устранение неполадок в работе скриптов сайта).

Неизвестные процессы создают нагрузку на сервер (память, процессор, диск)

Вероятнее всего, сервер был взломан. Настоятельно рекомендуем сменить пароль root на сервере и незамедлительно обратиться к системному администратору или в техническую поддержку.

Оптимизация программ, сервисов и субд

Скорость работы VDS зависит от настройки скриптового языка PHP, который генерирует контент для приложения, осуществляет подключение и работу с СУБД.

Ошибка «сервер не найден»

Данная ошибка наиболее часто возникает по следующим причинам:

Истек срок регистрации домена.

роверить срок регистрации домена можно в

в разделе

УслугиМои домены

или с помощью сервиса

Домен не делегирован, то есть отсутствует привязка доменного имени к хостингу на котором размещен сайт ( см. статью Как направить домен на хостинг?)

Сайт недоступен из конкретной подсети. Для проверки можно использовать Webproxy. Введите имя вашего сайта в строке поиска и кликните GO. Если ваш сайт доступен, значит проблема находится на стороне вашего интернет-провайдера. Необходимо подождать обновления DNS-серверов провайдера. Обновление DNS-серверов может занимать от 24 часов до нескольких суток.

Ошибка подключения к базе данных

В этом случае на сайте могут отображаться сообщения:

  • «DB error»
  • «Could not connect to MySQL»
  • «Error Establishing a Database Connection»
  • «Database connection error (2): Could not connect to MySQL»
  • «Невозможно подключиться к базе данных»

Проверьте реквизиты для подключения к базе данных. Узнать правильные реквизиты для подключения к базе данных можно через панель управления хостингом (см. статью Подключение к серверу Нагрузка за июль, я превышаю. Моя зона синяя.Я перевела сайт на php7. Это было не просто. Сначала при переключении вместо своего сайта я видела белую страницу с надписью:«Ошибка соединения с базой данных». Хостер мне не смог помочь советами, пришлось разбираться самостоятельно. Оказалось я использовала устаревшее соединение с базой данных.После переключения нагрузка на сайт начала зашкаливать за разумные пределы, вопреки многочисленным предсказаниям о том, что она просто обязана упасть. Еще несколько дней раздумий и экспериментов и я решила и эту проблему. Оказалось в function.php моей темы я добавила (по советам от опытных вебмастеров из интернета) функцию, которая содержала в себе лишний цикл, давно уже.Нагрузка за октябрь. Пики были вызваны ошибками в function.php, они проявлялись только в о время работы в админке, поэтому мне было трудно понять в чем делоОднозначно рекомендую переключить сайт на PHP7  и выше. Эта мера реально приводит к снижению нагрузки на сайт.
Правильная настройка оставшихся плагинов
Неправильная настройка плагинов может приводить к избыточной нагрузке на сервер. Я на своем сайте наблюдала два варианта: iThemes Security пытался сделать бэкап базы данных. Естественно, ему не хватало для этого оперативной памяти, бекап не получался, но он упорно пытался. Этот  процесс приводил к избыточной нагрузке. В настройках плагина можно отменить эту функцию, на дешевом хостинге автоматический бэкап объемного сайта быстрее всего работать не будет.NextScripts: Social Networks Auto-Poster пытался выполнять какое-то Cron-событие каждую минуту. Т.е. в сутки плагин создавал 1440 лишних обращений к серверу. Мне было лень разбираться, и я его отключила совсем. В логах сервера не видно что это был за Cron, пришлось поставить плагин WP Crontrol, чтобы выяснить это.WP Crontrol – покажет все события по расписанию, которые выполняются вашей темой и плагинами. Можно сделать расписание чуть пореже в разумных пределах, что так же приведет к снижению нагрузки. Оба этих случая я обнаружила при анализе логов сервера. Пересмотр настроек плагинов может существенно снизить нагрузку на сервер.
Принцип тестирования сайта на других хостингах
Покупать тариф у каждого провайдера просто чтобы его потестировать – не благодарное дело. Поэтому я выбирал только тех, у кого есть тестовый период, в среднем он 2 недели. На каждый тестовый хостинг переносятся файлы и база данных сайта. Я всё делал вручную и довёл процесс до автоматизма.Менять NS-сервера на новые НЕ НАДО! Чтобы у себя на компьютере открыть сайт с тестируемого хостинга нужно просто прописать в файле «c:WindowsSystem32driversetchosts» такую строчку: IP-адрес домен Например (я прописываю также свои поддомены): IP-адрес вашего нового размещения можно узнать из писем после регистрации, в панели управления или спросить в тех. поддержке. Теперь в браузере будет открываться сайт с нового хостинга (если всё заработало), а для обычных посетителей ничего не поменяется, у них сайт будет работать с вашего текущего хостинг-провайдера.
Причины нагрузки
Внимание! Внесение неверной конфигурации может стать причиной неработоспособности сервиса. Помните, что для того чтобы изменения вступили в силу, необходимо перезагрузить сервис.
Причины перегрузки
Чтобы эффективно снизить нагрузку на VPS, требуется разобраться в причинах ее возникновения. Среди наиболее частых причин эксперты называют резкое увеличение количества посетителей, отсутствие оптимизации программ и СУБД, а также DDoS-атаки сервера.
Программы для диагностики
Диагностика применяется для выявления проблемного программного обеспечения, вызывающего высокую нагрузку на сервер. Существует много сервисов, позволяющих выполнить этот анализ. Их условно можно классифицировать на две категории. Простые — показывают время загрузки веб-страницы.Сложные — могут имитировать подключения из разных мест и производить DDoS-атаку на тестируемое приложение.
Процессы tar и gzip создают нагрузку на диск и процессор
Эти процессы запускаются при выполнении задания резервного копирования. Попробуйте перенести задание на то время, когда нагрузка на ваш сервер минимальна.
Результаты тестирования некоторых хостеров
Давайте разберём для примера проверку хостера «Provisov»: Чёрный график всегда ровный – количество виртуальных посетителейСиреневый – среднее время загрузки страницыКрасный – среднее время загрузки со всеми элементамиЖёлтый – сколько раз успел загрузить страницу за 1 секундуРезультаты хорошие, время загрузки небольшое и плавно увеличивается. Перейдём на вкладку «Bandwidth» Здесь наблюдаем пропускную способность канала между вами и хостером, со скидкой на скорость вашего интернет-подключения. Эта информация не особо отличается между разными компаниями, и в основном упирается в скорость и способность сервера отдать контент.Следующая вкладка «Errors». Здесь статистика по ошибкам: Многовато. В идеале ошибок должно быть ноль, но такое редко встречается. Бывает, что по всем графикам красота, а ошибки зашкаливают. Значит просто не получена информация с сервера. Для сравнения возьмём хостинг «Timeweb» Результаты плохенькие, время загрузки с элементами страницы – большое! Соответственно, мало страниц в секунду загружается. Ошибки также присутствуют: Обновление 2020: прошло несколько лет, и провайдер Timeweb стал одним из лидеров ниши, теперь используются мощные сервера. А вот провайдер «Appletec» Тоже так себе, очень нестабильно. Внимание! Ваш ресурс может работать по-другому, необязательно учитывать мои результаты за основу при выборе хостинга для себя! Хостинг «Link-Host», графики производительности: Красота, а теперь посмотрим на ошибки: Примерно 10% всех запросов выполнены с ошибками, то, о чём я чуть выше писал. Вот за счёт этого и красота, такое обхожу стороной. Некоторые хостинги очень разочаруют, например «Netangels» оказался вообще никакущим, страница ошибок:
Решение № 1 — модернизация
Когда оптимизировать нечего или нет времени заниматься настройкой VDS, нужно выполнить апгрейд последнего. Происходит это при значительном увеличении числа посетителей.Это является еще одной причиной, по которой нужно использовать VPS. Для решения проблемы достаточно сменить тарифный план, воспользовавшись более мощным виртуальным сервером.Нужен надёжный виртуальные сервер с возможностью масштабирования и защитой от DDоS-атак и круглосуточной техподдержкой? Выбирайте VPS от Eternalhost!
Решение № 2 — оптимизация MySQL
Для оптимизации MySQL требуется открыть файл «my.conf», который находится в директории с установленной СУБД «/etc/». Затем параметры нужно изменить таким образом: log-slow-queries=/var/log/mariadb/slow_queries.log
long_query_time=5
log-queries-not-using-indexes=1
query_cache_size=0
query_cache_type=0
query_cache_limit=1M
tmp_table_size=16M
max_heap_table_size=16M
thread_cache_size=16
skip-name-resolve=1
innodb_buffer_pool_size=800M
innodb_log_file_size=200MПосле внесения изменений файл требуется сохранить, а в терминале запустить движок СУБД MariaDB при помощи команды «sudo systemctl start mariadb».
Решение № 2 — оптимизация работы сервера
Снижаем нагрузку на VDS, используя правильные настройки кеширования для Apache и Nginx при помощи правки конфигурационного файла.
Решение № 3 — ограничение индексации
В любом веб-приложении есть страницы, которые не нужно индексировать. Если их исключить, то нагрузка на VDS существенно снизится.
Решение № 4 — сжатие изображений
Для оптимизации ресурса любые графические файлы следует сжимать специальными сервисами. Это позволяет увеличить скорость открытия веб-страниц и уменьшить нагрузку на VDS. Подробнее об этом можно почитать в отдельной статье.
Решение № 5 — лимиты скачивания
Программы для скачивания файлов существенно нагружают сервер, поскольку в их алгоритме заложена опция кратчайшего обхода ресурса. Ограничение на скорость устанавливается экспериментальным путем.
Решение № 6 — ошибки в программном коде
Неверный код, на котором написано web-приложение, является основной причиной нагрузки на VDS. За помощью требуется обратиться к программисту или найти ошибки самостоятельно.
Решение № 7 — использование легкой CMS
Нагрузка, оказываемая на виртуальный сервер, зависит от CMS, которая на нем установлена. WordPress — универсальное решение, которое рекомендуют специалисты для большинства типов сайтов. Её главные достоинства — простота установки, нетребовательность к ресурсам и стабильность выпускаемых модулей.
Сайт в некорректной кодировке (кракозябры)
По умолчанию на хостинге используется кодировка UTF-8. Изменить кодировку можно в панели управления хостингом в разделе Сайты → ваш_домен → Настройки → Веб-сервер → параметр Кодировка сайта.
Сайт не открывается С или БЕЗ «www»
Сайт не открывается без «WWW» перед доменным именем Скорее всего, при добавлении домена в панели управления хостингом вы добавили не сам домен, а его поддомен www.ваш_домен.Сайт не открывается с «WWW» перед доменным именем Проверьте наличие синонима www.ваш_домен в панели управления хостингом. Создать синоним вы можете в панели управления в разделе Веб-сервер → Сайты.Если домен делегирован не на DNS-серверы RU-CENTER или у вас подключена услуга DNS-хостинг — убедитесь в наличии CNAME-записи с «WWW».
Сайт то работает, то нет
Нестабильная работа сайта может быть связана с превышением лимита оперативной памяти. Подробная инструкция по проверке и снижению потребления оперативной памяти приведена в статье Использование ресурсов хостинга.
Снос лишних плагинов
Когда я первый раз установила вордпресс, я просто наслаждалась использованием многочисленных плагинов. До этого на работе я писала код на php, а потом тестировала его, а потом переписывала. Это было долго и нудно. Вордпресс же радовал, что буквально по нажатию на одну кнопку можно подключить новую функцию и все работало.
Структура базы данных
bones – «кости», итог кусания сайтов. Самый главный лог-файлbones_back – куда же без бэкапов. Сюда переносим всё, что старше трёх месяцев.samples – синхронизация укусов, позволяющая сравнить задержки с тарировочным сайтом.watch_dogs — это список сайтов, которые сторожевые псы «кусают» для проверки
Увеличение количества посетителей
При постоянном продвижении интернет-ресурса количество посетителей растет, часто приводя к перегрузке VDS. Чтобы этого избежать, нужно выполнять диагностику и принимать меры по сохранению его работоспособности.
Удаление лишнего из файла style.css и удаление лишних js-скриптов
Этот метод смогут применить только люди хорошо разбирающиеся в коде. Прошлую мою тему я написала сама на фреймворке bootstrap 3. Сейчас все темы пишутся на фреймворках. Для достижения максимальной скорости загрузки и минимальной нагрузки на сервер необходимо тщательно удалить весь неиспользуемый код.Любая бесплатная тема, которая позволяет расположить сайдабар слева или справа или сделать два сайдабара содержит много лишнего кода. Любую тему стараются сделать максимально универсальной, для этого приходится включать много кода, который реально никогда не будет использоваться. Если его удалить, вы ничего не потеряете, а вот скорость загрузки и нагрузка на сервер снизятся.Обычно из иконочного шрифта используется на сайте 5-10 иконок, а содержится их там около 500. Можно создать свой шрифт выбрав только нужные иконки при помощи сервиса fontello, объем загрузки снижается принципиально. Использование Lazy Load, оптимизация изображений так же может немного снизить нагрузку на сервер, но не в моем случае. Мои изображения грузятся с Cloudflare.
Заключение
Постоянные мониторинг и диагностика нагрузки на VDS, а также оптимизация программного обеспечения и СУБД способны предотвратить его перегрузку. Если это произошло, то необходимо провести настройку веб-сервера, оптимизировать работу СУБД и настроить PHP.

Оцените статью
Хостинги