1) Кеширование вы можете наладить, зависит от количества повторов. Если их хотя-бы процентов 10-20, то стоит задуматься над этим. Процесс кеширования нужно упростить: сохраняете в базе ID картинки из ВК (можно ещё md5 хеш картинки сохранить), текст картинки и ID картинки готовой, после загрузки из ВК. Саму картинку удаляете с сервера. В будущем при совпадении текста и ID картинки - отправляете старую, уже отправленную картинку по её ID из ВК.
2) Подумайте на ресайзом картинок. Возможно, они долго отрабатывают из-за дикого разрешения входящего материала.
3) Узнайте на каком этапе больше всего задерживается бот. Что больше всего ест ресурсов.
4) Ну и хостинг, возможно, ваш так себе. Сейчас до сих пор некоторые провайдеры на HDD сидят, что значительно всё замедляет. Чего уж говорить о производительности ядер.