Optimze MySQL or use a PHP accelerator?

Might I suggest you run unix TOP command and find out of mySQL is your problem - see if the mysql process is using up your server resources. Also look into the mysql slow queries log to find out if your queries are causing problems. This would be my first step before even looking into fine tuning the server.

Correct. Optimizing before bottlenecks are identified is a complete waste of time. There's a million things that could cause slow page loads and mySQL is only one of them. Throwing a bunch of cron jobs around without knowing what they even do is not going to help anything.
 
How large is the mail account that seems slow when you use squirrelmail?

If it's still slow after you optimize PHP by installing an opcode cacher (eg. APC or Xcache), then you should check what IMAP server you're using.

Changing to dovecot as your imap server or even just changing your storage type from mbox to maildir can do alot to speed up your mail server.
 
If you are using a lot of php pages, then definitely install an accelerator. It can help a lot. By MySQL optimization, I think you must mean optimizing the my.cnf? How big are your databases and how much use are they under? In other words, do you think a lot of your usage is coming from MySQL?

Something else: if you have tables in your database that are changed a lot, such as tables that track number of views, you might want to think about using InnoDB instead of the default MyISAM type. InnoDB does better with those.
 
Top