Elgg makes extensive use of the back end database, making many trips on each pageload. This is perfectly normal and a well configured database server will be able to cope with thousands of requests per second.
Here are some configuration tips that might help:
- Make sure that mysql is configured to use an appropriate my.cnf for the size of your website.
- Turn on mysql database query caching
- Increase the amount of memory available to php and mysql (remember, you will have to increase the amount of memory available to the php process in any case)
- Make sure the simple cache and view cache are enabled in your site settings.
Advanced performance improvements are discussed in Scalability.