You can optimize the DB through phpmyadmin or even EE’s control panel…and weekly does not really matter in a db of that size - as long as you do it every once in a while you should be OK.
Yes, the EE scripting is happening quickly, so it seems not to be a back-end thing. There are so many variables that guessing is tough, but there are things to look at:
1. DNS on your computer and network - use googles DNS if possible - 8.8.8.8 and 8.8.4.4.
2. The actual web serving app on the server - usually Apache.
If the server is truly waiting that long to process your request, something is way off in terms of (probably) the apache or php part of the deal -IMHO.
But if you really want to troubleshoot staring from scratch, use the old process of elimination! That is, first rule out certain parts:
1. DNS
2. Server total load. Ask your admin if you don’t have terminal access…have them do a “top” or similar command to see what the server load is - that will also show them how much of the CPU each process is using and allow you to see if mysql is the culprit or more likely php-apache.
3. Optimize the DBs…
4. Have your admin run a mysql testing script (there are a few on the web - perl programs, etc. which will tell you if your cnf file for mysql is set right.
If all of those show OK, then next look at the apache conf file(s), usually called httpd.conf
This tells the server how many web page requests it can work with at one time…..if none are available or if too little memory is allocated to each (or to the whole server), then delays will occur.
There are settings in that file which look something like this:
StartServers 20
MinSpareServers 20
MaxSpareServers 25
ServerLimit 800
MaxClients 800
MaxRequestsPerChild 1000
———————————-
Your admin should check them - the settings are based on a lot of things, including available RAM…..etc.
One thing you did not mention was whether your site is heavy traffic…or is it a dedicated server or shared, etc.? This should be reflected in the load numbers.
Sorry for all the tech talk, but these things can be tough to track down.
Also, it’s not a bad idea to restart apache (graceful) every once in a while…also mysql.
If you do find out it is the load, there are a lot of ways to slightly reduce server load….everything from turning off logging in apache to slowing down the rate at which google crawls your pages, etc. etc. - you will find those hints at various other threads here.