Из вашего вопроса не совсем понятно - генерируется ли ваша карта сайта динамически для каждого запроса, проходящего через кеш?
Если так, то первое, что я сделаю, это сделаю его максимально статичным. Запишите это в файлы и обслуживайте их статически. Я предполагаю, что большинство ваших ссылок не меняются, и это просто новые страницы, которые нужно добавить. В прошлом я решил эту проблему, сохранив все старые ссылки в статических файлах, добавив запуск фонового процесса, который периодически добавляет новые ссылки на новые файлы карты сайта и добавляет эти новые файлы в индекс карты сайта.
Другое дело: рассмотрите возможность хранения этих статических файлов, которые уже были упакованы в gzipp, и обслуживания их как есть, чтобы ваш веб-сервер не раз за разом копировал одни и те же огромные файлы на лету.
Наконец, если обслуживание статической карты сайта все еще создает нагрузку на ваш сервер, рассмотрите возможность размещения ее на S3 или какой-либо подобной службе. Поскольку это просто статические файлы, вам не нужен другой веб-сервер, и S3 будет гораздо более дешевым вариантом по сравнению с ним.
Ничто из этого не должно повлиять на ваш PageRank. Распределение приложения по нескольким серверам является обычной практикой для обработки нагрузки.