MySQL туды её в качель!
22.03.2014Что-то стал у меня хостинг тормозить, но как-то не придал особого значения. Потом хостинг стал вставать раком, а конкретнее падал мускул и пришлось разбираться. Речь далее пойдёт о NextGen Gallery и умном поиске в джумле.
Под катом кроме технических подробностей размышления о проф.навыках программеров в стиле 18+.
ОГРОМНЫЙ размер таблички wp_options
Таблица wp_options в вордпрессе служит для хранения всех настроек движка и обычно весит 100-500кб. При сочетании NextGEN Gallery 2.0.xx (от 40 до 59 включительно) и WordPress 3.8.x объём растёт до 100500mb. Мой виртуальный хостинг лёг окончательно и бесповоротно когда зашкалило за 800mb на одном сайте и за 1.1gb на другом.
WTF?!?! — примерно таково было моё восклицание в переводе с невнятного матерного мычания на в меру литературный английский.
Оказалось, что вся таблица забита записями (в поле option_name) вида «_transient_блаблабла» и «_display_gallery_блаблабла». Это где-то 2/3 объёма, остальное забито похожими «блабла_timeout_блабла», которые судя по увеличению частоты к концу базы возникают из-за тормозов и добавляют счастья виртуальным гигагерцам.
Лирическое отступление: wordpress писали конченые долбоёбы ибо этот мусор ни что иное как кеш. В таблице с настройками блога. Кеш. Пиздец.
Лирическое отступление намба ту: разработчики галереи о проблеме знают, но не исправляют уже версий эдак не меньше пяти. Пиздец.
Решения у этой проблемы два, неправильное и правильное:
- Немного напрячь древесину головного мозга и написать sql/php скрипт для чистки этого говна, итог засунуть в cron с интервалом 15мин-1д. Работает, но до первой пиковой нагрузки. Можно раз в пять минут чистить, но тоже не айс, плюс иногда вываливает 500/503 ошибку если грузить сайт в процессе отработки скрипта.
- Выкинуть НАХУЙ ЭТО ГОВНО и поставить NextCellent Gallery, которая является развитием некстген версии 1.9.13. Решение не без минусов — придётся в ручную пробежаться по старым статьям и заменить код которым вставляются галереи во второй ветке на старый вида [nggallery id=].
УМНЫЙ поиск в joomla
В процессе выяснения предыдущего пункта глянув лог ошибок мускула обнаружил матюки на табличку j25_finder_terms, полез чекнуть и… УДИВИЛСЯ обнаружив что весит она в несколько раз больше всех остальных вместе взятых! Поиск рассказал мне, что это компонент умного поиска в джумле. Тыкнувшись на сайте в поиск краем глаза (на планшете была запущена консолька, удобно блин!) засёк на выводе top’а скачёк нагрузки аж до 50%.
WTF?!?!?! — привычно раздался глас админский…
Надо отметить, что объём таблички приблизительно в 10 раз превышает объём таблички с материалами. Это при том что умный поиск у меня не зацепил jcomments и форум на kunena.
Решается просто: компоненты/умный поиск/очистить нафиг, потом в управление расширениями, там отрубаем всё что к нему относится.
Эпилог
Мораль сей басни такова: проверяйте что делают свежеустановленные дополнения и обновления СРАЗУ и ДЕТАЛЬНО, а потом ещё через пару дней, опять же детально, дабы потом не пробиваться на полувисящий сервак с трёхэтажными матюками.
Poco importa se birra o altri liquori sono a casa o acquistati in bar o negozi al di fuori dell off-limits. Un articolo che potete leggere in queste settimane è «illuminante». Nel ’99 nasce il secondo figlio, ma lei continua a tradirmi. hogan outlet
Adriano Galliani sull’ inserimento di Ronaldinho taglia corto: «Grazie a lui siamo passati dall’ ultimo posto in classifica al primo». hogan outlet
Comunque Roma è sempre Roma, ci sono nata e cresciuta e la amo moltissimo.