WordPress — снижение нагрузки // Я б в сантехники пошел…

В общем, в кризис у меня богатый выбор: идти в сантехники или в программисты. А то и совмещать. Даст б-г, не пропаду.

1. На неделе встала проблема повышенных нагрузок на сайт. Причем, как выяснилось, чтобы сайт на WordPress начал создавать недопустимую нагрузку на процессор сервера, много не надо: достаточно 15-20 раз подряд (с паузой не более 0,75 секунды) кликнуть по одной и той же ссылке или просто открыть с предельной скоростью 15-20 страниц сайта во вкладках.

Если недопустимой нагрузкой провайдер называет уже 5 процентов, то таким вот нехитрым кликаньем, если очень постараться, можно вызвать нагрузку, если верить логам, до 28 процентов (!!!). А теперь представим, что кликать начал не один пользователь, а два? Да, проблема актуальна только для виртуального хостинга, да и то есть мысли, как они могли бы это оптимизировать… Но тем не менее проблема существует.

Вспомнив бурную программистскую юность, я (не без участия товарища И. Крейна) наваял-таки плагин, который защищает от таких вот DDoS-еров и любителей покликать. Надо еще тестировать и тестировать, но очевидно одно: максимальная нагрузка на CPU, которую удалось создать в ходе испытаний, равна уже не 28 процентам, а 5,9. К тому же, паразита, которому придет в голову вот так DDoS-ить, плагин забанит раньше, чем означенный паразит сможет создать нагрузку выше 6 процентов.

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

Теперь надо тестировать, так как еще неизвестно, как оно все дружит с другими хостингами и другими “Вордпрессами”…

Желающие потестить плагин могут отмечаться в комменатриях.

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

2. Вчера поимел опыт работы сантехником. ;-) Знаете ли, в кухне перестала уходить вода. Вообще. Не то чтобы медленно утекать — нет, совсем не уходит. Перепробовал всё. Даже Хваленое Патентованное Средство За 300 Рублей Один Флакончик (для сложных засоров это доза на один раз)… Сантехник? Какой сантехник в праздники? Если только совсем никакой…

Не буду утомлять вас малоаппетитными подробностями, но я, знаете ли, укрепился в мысли, что иногда лучше обходиться без профессионалов. Профессионал скажет: “Так. Трубу надо менять, а это все ерунда…” или “Так. Нужен инструмент, а без него никуда…”
или “Так. Нужна Деталька за 800 рублей и Жидкость для протирки…” И без всего этого ничего профессионал не сделает. И еще грязи разведет.

Мы же — люди малограмотные, консерваториев сантехлицеев не кончали. Так что пришлось обходиться теми инструментами, что были. Хотя, конечно, с такими сложными засорами я за последние 32 года пока не сталкивался…

Сегодня буду зализывать раны.