Посмотрите в slow логи mysql. Угадываю, что вы можете найти запросы, которые можно оптимизировать.
А так - информации очень мало. Для диагностики, лучше:
1. Проанализировать ttfb
2. Если ttfb мал, но запросов много - уменьшить количество запросов.
3. Запросов не много, но большой ttfb - тут нужно профилирование / анализ лога системных вызовов
4. Если из анализа видно, что больше времени тратиться на получение данных с диска - то диск узкое место.
5. Если из анализа видно, что узкое место mysql - то тут нужно смотреть, что за запрос, проверить его explain.
6. Если запрос нельзя оптимизировать, то тут только кеш.
Из того, что вижу, вы можете ускорить скрипт:
1. Обломать руки "программисту" (чтобы он больше не писал такой код)
2. Вынести delete в отдельный скрипт и запускать раз в 10 минут
3. Действительно ли вам нужна капча (если я правильно понимаю), для запросов от локальных машин?
4. Какого либо кеширования запросов у вас не увидел (наймите нормального разработчика), попробуйте (если ещё не используете) redis.
Также прочтите, что написали выше. Про часть, что хранить картинки в базе можно, только затем, чтобы отдавать их авторизованным пользователям - бред, по авторизации можно отдавать и с диска.
Если не хватает места на диске, могу предложить 2 варианта решения:
1. Могу предложить, что у вас дедик, отсюда - "Купи нормальные диски"
2. Если логи вам не нужны, то можеие их в dev null сразу отправлять, а потом гадать, что случилось. Если серьезно - используйте нормальный сбор логов (на отдельный сервер), например, на сервер с бэкапами (надеюсь, они у вас есть).