My application has an average of 2000 online users, which is a very high number of page loads. My question is how many mysql queries I can do in each page load ? because my application requires loading lot of data.
Is it possible that my database crashes? or my server?
_____ SOME INFO _____
Memory Limit: 60Mb
Parallel Processes: 15
Script executing time: 30 seg
DB: MySQL5 (1Gb)
Structure: in the structure, all the tables are really well interconnected. Allmowst the 95% of the fields are INT type (related by FOREIGN and PRIMARY keys). There are 14 tables. In total, there are 32 INT fields, and 6 TEXT ones.
What if I can't install applications ON my server, is there any other way to cache my data?
If you have such load, you should probably start thinking about setting up some sort of cache - so request will hit DB only once.
My choice for this would be Varnish.
In case if you have partially dynamic content, which for example is user-related data, you can use it with Edge Side Includes.
Also, try to optimize your queries to as less as possible by aggregating select conditions. For example, first - collect all ids
you need to select, then - do SELECT * FROM table WHERE id IN (...)
After that - you will be able to work with result on server side, without bothering database
EDIT
If you are unable to install any applications on your hosting - then you should proceed with fetching as much data as possible with one request, and then - work with arrays.
And also it is important to have indexed fields - this will speed up your queries.
For such load you might want to set up multiple servers with replication and with load balancer between application and MySQL server to distribute read load among multiple instances (and consider caching and optimising your queries, as suggested by @thecatontheflat). It'd also help availability (when one DB server is down, others might take it's share of work)