Техническое обслуживание ваших сайтов

seregkaz
На сайте с 02.07.2008
Offline
151
#61

Работаем с Леонидом! Человек знает своё дело на все 100% процентов. Сайты ускоряет на раз-два, советую!

Я раскручиваю сайты, вывожу их в ТОП, так же поднимаю ИКС! 3300+ отзывов. (http://forum.antichat.net/thread134505.html)
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#62

Пришло время рассказать интересную историю оптимизации. А то все думаю, что это так просто, вот ошибка, исправь. И всё это занимает 10 минут. Увы, но это не так.

Дано: Выделенный сервер, достаточно мощный. 260 сайтов на WordPress.

Проблема: Каждые 3-4 часа нагрузка уходит «в космос», держится там около минут 30, и потом очень медленно на спад. Был переезд с другого сервера, это не помогло.

День 1

Действительно на графике в ISP5 отлично видны пики нагрузки. Начинаю изучать пока нет нагрузки. Все WP обновлены. Посмотрел конфиги сервера, вполне всё нормально. Был обновлён PHP 7.0 до версии 7.3, также развязаны лимиты nginx и MySQL т.к. памяти у нас 64 ГБ, чего уж там экономить для 260 сайтов то.

Немного подождав, пришла волна! Apache забивается весь, а увеличение лимита клиентов, не играет роли, хоть 250 хоть 500, всё забито. HDD «горит», SSD отдельный с MySQL спит спокойно.

Начинаю анализировать, кто же долбиться то в таком количество? Ба! Так это же боты в огромном количестве, всякие переборщики паролей, спамеры в комментарии и т.д. Плюс ко всему ещё поисковые роботы хотят индексировать сайты.

Всё ясно, устраивают серверу на HDD просто ДДОС атаку. 260 сайтов на WP и все кому не лень сканируют их на дырки.

Решение: блокируем плохие подсети, ставим на сайты кэш систему на всякий случай и блокируем REST-API

Нагрузка начинает спадать, оставляем на сутки

День 2

Ничего не изменилось. Опять нагрузка, возможно, график чуть изменился, но суть прежняя. Может быть остались боты? Да нет, ботов очень мало. Анализирую пакеты TCP, ничего такого нет. Но что-то сервер ожидает и не даёт клиентам информацию. Учитывая, что нагрузка спала, опять курим бамбук… Случайно выясняется, что все 260 сайтов работают под одним пользователем MySQL, ну для удобства было сделано, а в настройках лимиты выставлены 80 подключений на 1 пользователя! Всё ясно, приходят много подключений и пока они не отработают, MySQL не даст новых подключений, вот вам очередь. Увеличивая лимит Apache, мы только делаем хуже!

Решение: увеличиваем лимиты для 1 пользователя в MySQL.

Оставляем всё это на ночь.

День 3

Ничего не изменилось.

Да быть такого не может. Жду волну нагрузки и начинаю strace процессов Apache, что же они делают. Замечаю, что вызывается биржа Sape. ОУ! Действительно на всех сайтах стоит код биржи. Файл старый 2016 года, настройки там по умолчанию.

Так постойте-ка, там кэш на 1 час, запрос через обычный file_get_contents, который ожидает 60 секунд, и вся работа с 1 файлом (он же БД) идёт.

Теперь давайте представим алгоритм работы в данном случаи. В какой-то момент приходят боты, юзеры и т.д. и попадают в момент, когда нужно обновить кэш SAPE. Учитывая, что все сайты на 1 IP, биржа просто перестаёт отвечать на такое количество запросов. У нас timeout 60 секунд и +10 минут к времени НЕ обновления кэша в случаи timeout.

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

Решение: берём новый файл sape.php, в нём реализовано многофайловое хранения ссылок (АГА, значит был такой баг у кого-то). Выставляем в нём кэш 12 часов и режим работы с CURL с 6 секундным timeout. Меняем на всех сайтах и ждём.

День 4

Никакой нагрузки. Всё работает штатно.

Вот такая вот история, спасибо, что дочитали.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
zhurikzzz
На сайте с 16.09.2012
Offline
102
#63
LEOnidUKG:
Вот такая вот история, спасибо, что дочитали.

Было интересно. Похоже на детектив )))

Александр
На сайте с 17.07.2009
Offline
371
#64

Офигеть! САПА в 2020 году - офигеть в квадрате.

Сайты на WordPress тут просто летают! (https://vk.cc/atAGUU)
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#65

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

Приходит заказ на оптимизацию сайта по Google Page Speed, всё стандартно, изучаю самопис, нахожу, что надо т.к. документации нет и приходится каждый раз узнавать что-то новое.

Делаю оптимизацию, результат отличный, всех всё устраивает. Только вот клиент замечает, что дизайн годичной давности стал по мелочам и стили старые и вёрстка какая-то не такая.

Какой ещё дизайн? Какая вёрстка? В смысле годичная? Если я, что-то правлю, я делаю бэкапы! Срочно заливаю старые файлы, ничего не меняется.

Выясняется, что клиенту надо было править дизайн, стили, телефончик заменить и т.д. Клиент смотрит исходный код страницы в браузере, видит, что стили лежат в папке /cache/. Заходит в неё, а там и стили, и скрипты и файлы страниц нужные. Удобно же! Делает исправления, всё работает!

И теперь прихожу я, делаю всё по науке и разбиваю хрустальный мир.

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

Конечно, папка /cache/ это условное название т.к. кэши бывают и в папке /images/css/ и может лежать вместе с основными файлами стилей, без явных опознавательных знаков.

seregkaz
На сайте с 02.07.2008
Offline
151
#66

Пишу второй отзыв в течении месяца - Леонид - лучший специалист, которого я встречал, видит то, чего не видят другие. В очередной раз помог с сайтом, увеличили скорость, переработали БД и еще поправил некоторые косяки. Спасибо!

Ikona
На сайте с 08.07.2009
Offline
80
#67

LEOnidUKG,

Здравствуйте, нуждаюсь в помощи по правке php файла (со вчерашнего дня слетела система оплаты после моей криворукой правки).

Как можно обратиться, как скоро сможете помочь?

Кастинг-центр Икона - Нам нужны ВСЕ типажи! www.ikona.by (www.ikona.by)
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#68
Ikona:
LEOnidUKG,
Здравствуйте, нуждаюсь в помощи по правке php файла (со вчерашнего дня слетела система оплаты после моей криворукой правки).
Как можно обратиться, как скоро сможете помочь?

Напишите в личку, что именно там случилось. Но если есть бэкапы, почему бы их просто не восстановить и всё? :)

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#69
zhurikzzz:
Было интересно. Похоже на детектив )))

А через неделю там сдох SSD с базой и его менял хостер, серьёзно :D

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#70

Провели тесты по оптимизации контекстной рекламы от Google, по сервису Google Page Speed.

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

Тесты не утешительные. Я понимаю, что это зависит от расстановки рекламы, от самого сайта и от пользователей. Но в среднем клики падают на 40%.

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

Вывод:

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий