Первоисточник обоих проблем — утечка памяти в движке Samizdat. Сайт начинает использовать столько памяти, что сервер сначала тормозит, а потом просто останавливает движок (срабатывает система Linux Out-of-memory Killer). Повторить эту утечку в лабораторных условиях, то есть на собственном компьютере, до сих пор никому так и не удалось, а вести отладку прямо на хостинге мы не можем. Из-за этого невозможно выяснить, связано ли это с особенностями хостинга (виртуальный сервер на Linux+vserver), ошибкой в коде Samizdat, в версии интерпретатора Ruby, или порождается каким-либо хитроумным запросом (возможно, злоумышленным, но маловероятно, иначе бы Индимедия ложилась гораздо чаще). Пока мы только заметили, что утечка чаще всего начинается вскоре после появления на сайте новых сообщений, так что если мы включим публикацию сообщений гостями и опять начнётся поток спама, сайт будет ложиться гораздо чаще.
Не имея возможности устранить конкретную причину проблемы, исправить ситуацию можно только радикальным образом — изменить систему публикации так, чтобы утечка памяти стала невозможной. Например, реализовать кэширование всего содержимого сайта в виде статического HTML, который можно зеркалировать и раздавать вообще без участия движка. Чтобы это сделать, надо где-то найти опытного Ruby-программиста, у которого найдётся месяц-другой свободного времени для этого проекта. Пока разработкой движка занимается только один человек, всё что мы можем делать — ждать пока это время появится у него.