Exchange 2000 Reorg
As your exchange server receives and delivers messages, as users read them, move them around, reply and delete them, Exchange must perform some magic within it's internal databases. As Exchange moves data around these files become fragmented.
This fragmentation is normal and expected. Let's say a mail message 100 characters long is deleted. This leaves a 100 character hole in the database. Now, if any messages of 100 characters or less in length are added, they can be placed within that hole. Otherwise, the space remains unused.
Now let's say a 90-character long record is added to the hole. That leaves ten characters of space which will most likely not be ever used.
In addition, there are internal pointers which allow records to be retrieved. As records are added, deleted and moved around, these pointers become convoluted. More and more time is required to retrieve records, as they are no longer next to each other in the database.
After some time has passed, the amount of time to manage changes to the database becomes astronomical. In fact, after time the Exchange databases become so convoluted that Exchange becomes more or less unusable. Exchange spends more time managing it's database than responding to users.
Exchange regularly performs online defragmentation to attempt to correct this problem. Generally on a daily basis records are shuffled to better locations within the file, holes are removed and pointers are optimized.
Only so much can be done online, however, which means that an offline reorganization must be performed occasionally. This is done with the "eseutil" utility. This program completely rebuilds the database and corrects all of the problems. Mote that you must have at least 110% free space available, as well as 110% of the size available on the disk on which Exchange is installed if different than the store.
Before running eseutil, be sure to get a complete backup of your exchange database. Be sure to perform a verify pass on the backup as if something goes wrong this will be your only recovery.
Now use the Exchange System Manager to dismount the store that you want to defragment. Do this by right-clicking on the store name and choosing "Dismount Store".

It will take a few minutes (depending upon the speed of your system) to finish dismounting.
Once you have dismounted the store, go ahead and run Eseutil. There are lots of options, as described in 192185 - XADM: How to Defragment with the Eseutil Utility (Eseutil.exe).
You will need to defragment your mailbox store. An example is shown below.

You should also defragment your public store, and an example is shown below.

Upon completion (and it could take several hours, depending upon the size of your databases) you should see substantial performance improvement.