Yay, первое сообщение на SO! (Хорошая работа Jeff и др.)Настройка сервера отчетов для освобождения ресурса с веб-сервера
Мы пытаемся решить узкое место в одном из наших веб-приложений, которое было введено, когда мы начали разрешать пользователям создавать отчеты по требованию.
Наша инфраструктура выглядит следующим образом: 1 сервер работает как веб-сервер/DbServer (ColdFusion 7 и MSSQL 2005)
Это служит веб-приложение для наших внутренних пользователей и веб-сайт во внешнем интерфейсе. Отчеты генерируются пользователями из бэкэнд, поэтому существует уровень безопасности, при котором пользователям приходится регистрироваться (на веб-сайте).
В часы пик при создании отчетов он приводит к неприемлемой скорости веб-приложения и внешнего интерфейса из-за SQL Server, используя ресурсы для огромных запросов, а затем ColdFusion генерирует многостраничные PDF-файлы.
Мы не совсем уверены, что наилучшей практикой было бы удаление какой-либо нагрузки, но ограничение доступа к отчетам на данный момент не является вариантом.
Мы рассмотрели денормализацию данных для других таблиц, чтобы упростить наиболее распространенные запросы, но похоже, что это просто подтолкнет проблему.
Итак, мы собираемся получить второй сервер и использовать его в качестве «сервера отчетов» с реплицированной копией нашей БД, на которой будут выполняться запросы. Это устранит одну проблему, но вторая остается: генерация PDF-файлов является ресурсоемкой.
Мы также хотели бы передать эту задачу серверу отчетов, но, находясь в защищенном веб-приложении, мы не можем просто запускать HTTP GET для создания PDF-файлов с пользователем, зарегистрированным в веб-приложении с сервера 1 и отображая его в веб-приложении, но генерируя/получая его на сервере 2 без проверки учетных данных пользователя ...
У кого-нибудь есть опыт? Заранее спасибо Переполнение стека!
Спасибо всем за ответ.Хеш как имя файла - это действительно хорошая идея, проблема с повторением одного и того же отчета. Теперь у нас есть прочная основа для руководства. – jfrobishow