Yeah, there are times when the mail server uses the majority of the bandwidth available during the daytime hours. Usually after about 7pm CDT the mail processing drops to a tiny amount and there is more bandwidth available.
We may move everything back to the other server this weekend.
I spent all last night making changes to the log system to make it modular. I have also been rewriting a number of the scheduler routines. It's amazing that I have been able to get rid of just about every query inside loops.
The only two schedulers that really have any queries inside loops are the sched_ranking.inc which has 13 queries for every player in the game. Fortunately this only runs once every 2.5 hours. But unfortunately it can cause the largest load on the database server. If you have 100 players in a game there would be over 1,300 queries to calculate the score. I may end up trying some real time score calculation. I have a few ideas for that but will need to do some extensive testing.
The other query loop is the sched_degrade.inc which removed energy from planets in a sector for all sector defense and degrades any fighters if there isn't enough energy. I have reduced to a single query the reducing of sector fighters if there isn't enough energy. That was a cool change.
Unfortunately I have only been able to get the updating of energy for every planet in a sector to only ONE query for each fighter group. This used to be 3 and then 2 and now down to a single query for each one. If there are 1,000 sectors with sector fighters there could be over 1,000 queries to process all of the sector defense.
If you don't count the sched_degrade.inc and sched_ranking.inc the average number of queries to update everything in the game is under 80 and that is pretty damned small considering what the game is doing.
If things go well we will move things back this weekend.