I'm working on a web based application that belongs to an automobil manufacturer, developed in Spring-Hibernate with MS SQL Server 2005 database.
Through this application, end users can request for creating a Car, Bus, Truck etc through web based interfaces. When a user logs in, a HTML form gets displayed for capturing technical specification of vehicle, for ex, if someone wanted to request for Car, he can speify the Engine Make/Model, Tire, Chassis details etc. There are overall 100 form elements on Create Vehicle Request screen, out of which 30% are drop downs (SELECT boxes) for displaying options (i.e. users are allowed to choose one of them) . These SELECT boxes gets populated from values stored in database (Master data). This master data changes at least once a week by running a stored procedure in back-end.
There are approximately 10,000 users for this application globally and at the most we are expecting 5000 hits everyday for new vehicle request, i.e. 5000 times Create vehicle form will be displayed.
My question is, Do i need to go with Second level cache option for storing the values for form field getting displayed from master data?
Since these values are getting displayed from a set of Master tables that will change once a week only, I'm thinking caching of master data will help improving performance, but I'm not too sure as I've yet to move my application to Production to see the real performance and to see, if i really need caching.
If I go with caching, I might need to spent a week or two figuring out how to configure that and I don't wanted to spend a week or two without seeing any real benefit?
Need experts help on this. Also if someone can share practical scenarios, where caching is really needed would be of great help.