Существует много способов решения проблем производительности рендеринга векторных данных на стороне клиента.
Прежде всего, немного странно, что вы не можете рендерить 6 МБ векторных данных с помощью openlayers.По моему опыту (в основном с OpenLayers 2), 6 МБ не так уж многоОднако это сильно зависит от возможностей клиента.В чем проблема с загрузкой?Тайм-аут?Замораживание?Не отвечает панорамирование / масштабирование?
Вы можете визуализировать данные на стороне сервера, используя WMS или тайлы.Вы можете использовать mapserver или геосервер, например.Затем, чтобы выбрать объекты, вы можете использовать запрос GetFeatureInfo.
В противном случае, как предлагает pavankguduru, вы можете попробовать использовать формат векторных плиток.
Возможно, ваши векторные данные слишком "детализированы"для ваших целей.Вы можете упростить их, чтобы уменьшить количество точек каждой геометрии.См. Инструмент GRASS v.generalize.
Вы также можете использовать агрегированную версию ваших данных (регионов), пока пользователь не увеличит масштаб.
ИМХО, если ваше приложение должно работать в старых браузерах /ПК, то вам нужно визуализировать на стороне сервера.