Yay, first post on SO! (Good job Jeff et al.)
We are trying to solve a bottleneck in one of our web applications that was introduced when we started allowing users to generate reports on demand.
Our infrastructure is as follows: 1, acting as a Web server / DBServer (ColdFusion 7 and MSSQL 2005)
It serves as a web application for our internal users and website. Reports are generated by users from the backend, so there is a level of security at which users have to register (on the website).
During peak hours, when creating reports, it leads to an unacceptable speed of the web application and front-end due to the fact that SQL Server uses resources for huge queries, and then ColdFusion generates multi-page PDF files.
We are not quite sure that the best practice would be to remove any load, but restricting access to reports is not an option now.
We looked at data denormalization for other tables in order to simplify the most common queries, but it looks like it just pushes the problem.
So, we are thinking about getting a second server and use it as a โreport serverโ with a replicated copy of our database on which requests will be executed. This will fix one problem, but the second remains: generating PDF files is resource intensive.
We would like to offload this task to the report server, but, being in a secure web application, we canโt just run HTTP GET to create PDF files with the user registered in the web application from server 1 and displaying it in the web application, but generates / retrieves it on server 2 without checking user credentials ...
Does anyone have any experience? Thanks in advance Stack Overflow!