One thing you should probably just do asap is to disable atime , mount your filesystem where the files reside on with the
noatime
option - this will reduce drive IO quite a bit - you likely don't need the access time of files to be updated – nos Jan 29 '11 at 19:56 I found this tutorial, howtoforge.com/… and I would have to add the noatime to /dev/sda5.
This site even talks about "nodiratime" too which means: Do not update directory inode access times on this filesystem sites.google.com/site/wikirolanddelepper/recommanded-tuning/…
Along with the
noatime
option @nos mentioned, you might want to consider the following:- in nginx, set
access_log off;
-- commenting it out doesn't do anything; you need to actively disable it. - reduce the number of worker processes. nginx doesn't benefit from more than one worker per CPU.
tcp_nodelay on;
will help nginx serve files quicker on "live" connections.- try playing with
tcp_nopush
. I've found it best to switch it on, but YMMV. - set
if_modified_since
tobefore
; it will allow nginx to send304 Not Modified
headers rather than re-serving the content. - play with the
open_file_cache
settings - reduce the
send_timeout
so nginx can free-up stale client connections.
As for the rest of your system:
hdparam
settings. lots of tutorials to help you online, hdparam tweaks will get the best out of your disks.- tweak your
socket
performance settings - recompile the kernel with a reduced timer frequency. the default is 1000 Hertz which is great for desktop machines providing video but isn't all that good for servers where a value of 100-250 might be more appropriate
- disable services like cups and bluetooth
However, I believe the best performance boost would be putting Varnish in front of your nginx server and using it rather than nginx for serving static files. It will keep "hot" files in memory better than nginx can, so that there's little/no disk use for your most-served content.
The main thing however is to monitor EVERYTHING -- don't go with your gut, know what your server is doing and where your bottlenecks are.
No comments:
Post a Comment