Как можно увеличить скорость записи в бд mysql?
Что значит стопорится? зачем гадать, расставь по больше вывода в свои логи отладочной информации (когда принял запрос, обработал, отправил транзакцию, когда получил ответ от базы и т.п.) с таймингами и смотри что и где происходит в проблемный момент

Что за пиз...ц с сериализацией картинок в base64 потом это все в json, а в базе хранить php-щным serialize?

http post прекрасно справляется с отправкой файлов, там своя сериализация, никто не мешает миксить в запросе get и post данные

Не храните картинки в базе данных, никак, ни блобом ни сериализацией, кто придумал этот маразм, в каком бредовом туториале это прочитали и каждый второй это реализует?

Файлы храни в файлах на диске, а в базу записывай путь или имя файла (либо сам файл по идентификатору называй), раз в сто лет на обслуживании базы сравнивай наличие файлов на диске и записей в базе и удаляй висяки (образуются если во время обработки произошла ошибка, например скрипт умер, файл записали а транзакция в базе откатилась)

p.s. в php во всех репозитариях есть красивый сериализатор igbinary, если что он в каком то смысле даже быстрее старого serialize и точно компактнее, его потихоньку в стандарт пропихивают, например можно использовать его для хранения сессий
Посмотрите в 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 сразу отправлять, а потом гадать, что случилось. Если серьезно - используйте нормальный сбор логов (на отдельный сервер), например, на сервер с бэкапами (надеюсь, они у вас есть).