vishnumca123,
One of the things that you could do to speed up your system is to cache your queries. If your menus are in the database, I assume they don't change very often. There is debate to whether caching queries is faster as DBMS systems do this automatically for you. What is probably your best course of action is to use a logging framework like
NLog[
^] and log out performance numbers to a file. When dealing with performance, its not always a simple one fix shot, but an overall issue that requires multiple fixes. By logging out when things happen, you can begin to profile sections of your code that are a bottleneck and optimize them. One trap that I fell into early in my development was hitting the database for everything because it was "fast". While the DB is fast, if you use it inefficiently, there is little gain. I'm not sure if you're doing this or not, but its another area to consider.
Break the problem into smaller pieces and it'll be easier to solve. Good luck and come back when you have specific performance issues as you identify them and need help!
Hogan