recommendations for basic performance configurations

Hi, just wondering if somebody could point me in the right direction. I am new to operating a server in a root environment, migrating from shared hosting so its a wonderful and daunting experience at the same time :D

I'm running Ubuntu 10.04 on a Linode 512 and would be very grateful for pointers in the right direction for each of the main packages I'm running. When I finish migrating we will be serving 2000-3000 page views per day, one zen cart store, two wordpress sites, and an email marketing software. So four mysql databases.

These are the questions I have;

1. What would be recommended for configuration settings for Apache2?

2. And for MySql? I found Linode Library's config settings but the directive asked for a couple of settings to be changed that weren't even in the conf file.

3. PHP5? At the moment I have the default php5 package from the repository installed - should I be installing a performance cache or something like that? If so, what would be recommended?

4. Postfix? If I'm doing a mail-out I wouldn't want SMTP to erode performance of the websites.

Thanks for helping a noob out!!

2 Replies

@nscrivener:

1. What would be recommended for configuration settings for Apache2?

I'd probably set the KeepAliveTimeout to 1 second or so, and MaxClients to about 20-25. If you hit the MaxClients limit, then it's probably time to either consider more memory or offloading static objects (images, CSS, JS, etc) from Apache.

> 2. And for MySql? I found Linode Library's config settings but the directive asked for a couple of settings to be changed that weren't even in the conf file.

There's going to be a default for each of those options, if they aren't in the config file. MySQL's documentation for your particular version should have those.

> 3. PHP5? At the moment I have the default php5 package from the repository installed - should I be installing a performance cache or something like that? If so, what would be recommended?

A lot of folks seem to use APC with good effect. Unless you have a really, really, mind-bogglingly good reason to do so, use the Apache/MySQL/PHP/etc packages from your distribution's repository.

> 4. Postfix? If I'm doing a mail-out I wouldn't want SMTP to erode performance of the websites.

Postfix's major impact would be on disk I/O, since it has to write and read each message to disk and append stuff to a log file. If everything else is set up correctly, your web site shouldn't need to do much disk I/O to do its job, and everyone will be happy.

(There are ways to rate limit Postfix if required, too.)

Thank you very much for your reply, those were pretty straight forward to find and configure.

What I'm not sure of now is appropriate settings for APC for the Linode 512, and where to find the config file? If someone could point me in the right direction I would be very grateful :-)

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct