<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="http://www.booservers.com/styles/rss.css" type="text/css"?>
<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns="http://my.netscape.com/rdf/simple/0.9/"
>

 <channel>
  <title>Booservers - All about dedicated servers</title>
  <link>http://www.booservers.com</link>
  <description></description>
 </channel>
    <item>
   <title>4 Primary Areas For Tuning Your Server</title>
   <description>I just thought I would add my two cents in for everyone. I posted an old howto with some sysctl.conf, but I think that was when I was running on my previous server using and older version of redhat. So here&#039;s a fresh howto that is a little more complete. &lt;br /&gt;&lt;br /&gt;These configs are based on my server specs, which is a Dual 2.0GHz Xeon with 2GB of RAM running RedHat Enterprise. Depending on your server&#039;s RAM you might have to reduce some of the settings, which I&#039;ll try make notes with each section.&lt;br/&gt;&lt;center&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-7209259988091090&quot;;
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = &quot;300x250_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel =&quot;3498328464&quot;;
google_color_border = &quot;FFFFFF&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;006633&quot;;
google_color_url = &quot;000000&quot;;
google_color_text = &quot;0033CC&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/center&gt;&lt;br&gt;&lt;strong&gt;First&lt;/strong&gt;, is the /etc/sysctl.conf file. Most people overlook tweaking these settings, always thinking it is a mysql or apache problem. You can get a tremendous boost in throughput by adjusting these settings. These are the settings I use on my server, and have come about by constantly adjusting and monitoring performance, and this is what works best &lt;i&gt;for me&lt;/i&gt;, your mileage may vary based on server specs and traffic. I suggest finding some guides and reading up about what each seting does before you make changes. (Note: most out there are pretty dated unfortunatly). Also, some people out there like to have tcp_window_scaling, sack, fack, etc, turned off, but I leave them on. I guess it is just a personal preference thing. So don&#039;t complain, but feel free to leave your comments, testing, and results. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;/etc/sysctl.conf&lt;/b&gt; &lt;br /&gt;&lt;div class=&quot;codetop&quot;&gt;CODE&lt;/div&gt;&lt;div class=&quot;codemain&quot;&gt;# Kernel sysctl configuration file for Red Hat Enterprise Linux&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Controls IP packet forwarding&lt;br /&gt;&lt;br /&gt;net.ipv4.ip_forward = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Controls source route verification&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Disables IP source routing&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.all.accept_source_route = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Controls the System Request debugging functionality of the kernel&lt;br /&gt;&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Controls whether core dumps will append the PID to the core filename.&lt;br /&gt;&lt;br /&gt;# Useful for debugging multi-threaded applications.&lt;br /&gt;&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Increase maximum amount of memory allocated to shm&lt;br /&gt;&lt;br /&gt;# Only uncomment if needed!&lt;br /&gt;&lt;br /&gt;# kernel.shmmax = 67108864&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Disable ICMP Redirect Acceptance&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.default.accept_redirects = 0&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.all.accept_redirects = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.default.log_martians = 1&lt;br /&gt;&lt;br /&gt;net.ipv4.conf.all.log_martians = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Decrease the time default value for tcp_fin_timeout connection&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_fin_timeout = 25&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Decrease the time default value for tcp_keepalive_time connection&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_keepalive_time = 1200&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Turn on the tcp_window_scaling&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_window_scaling = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Turn on the tcp_sack&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_sack = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# tcp_fack should be on because of sack&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_fack = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Turn on the tcp_timestamps&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_timestamps = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Enable TCP SYN Cookie Protection&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_syncookies = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Enable ignoring broadcasts request&lt;br /&gt;&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Enable bad error message Protection&lt;br /&gt;&lt;br /&gt;net.ipv4.icmp_ignore_bogus_error_responses = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Make more local ports available&lt;br /&gt;&lt;br /&gt;# net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Set TCP Re-Ordering value in kernel to &#039;5&#039;&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_reordering = 5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Lower syn retry rates&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_synack_retries = 2&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_syn_retries = 3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Set Max SYN Backlog to &#039;2048&#039;&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_max_syn_backlog = 2048&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Various Settings&lt;br /&gt;&lt;br /&gt;net.core.netdev_max_backlog = 1024&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Increase the maximum number of skb-heads to be cached&lt;br /&gt;&lt;br /&gt;net.core.hot_list_length = 256&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Increase the tcp-time-wait buckets pool size&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_max_tw_buckets = 360000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# This will increase the amount of memory available for socket input/output queues&lt;br /&gt;&lt;br /&gt;net.core.rmem_default = 65535&lt;br /&gt;&lt;br /&gt;net.core.rmem_max = 8388608&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_rmem = 4096 87380 8388608&lt;br /&gt;&lt;br /&gt;net.core.wmem_default = 65535&lt;br /&gt;&lt;br /&gt;net.core.wmem_max = 8388608&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_wmem = 4096 65535 8388608&lt;br /&gt;&lt;br /&gt;net.ipv4.tcp_mem = 8388608 8388608 8388608&lt;br /&gt;&lt;br /&gt;net.core.optmem_max = 40960&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;After you make the changes to the file, you can make them effective immediately by typing in &lt;b&gt;/sbin/sysctl -p&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;Also, you will need to issue &lt;b&gt;/sbin/sysctl -w net.ipv4.route.flush=1&lt;/b&gt; to flush the routing table to make some of these changes happen instantly. &lt;br /&gt;&lt;br /&gt;Here&#039;s some URLs with useful info, benchmarks, etc... (I believe one was posted from someone below) &lt;br /&gt;&lt;a href=&quot;http://www.aarnet.edu.au/engineering/networkdesign/mtu/local.html&quot; target=&quot;_blank&quot;&gt;http://www.aarnet.edu.au/engineering/netwo.../mtu/local.html&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://sverre.home.cern.ch/sverre/TenGBE_whitepaper_04232003.pdf&quot; target=&quot;_blank&quot;&gt;http://sverre.home.cern.ch/sverre/TenGBE_w...er_04232003.pdf&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://www.hep.ucl.ac.uk/~ytl/tcpip/linux/txqueuelen/datatag-tcp/&quot; target=&quot;_blank&quot;&gt;http://www.hep.ucl.ac.uk/~ytl/tcpip/linux/...en/datatag-tcp/&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://www-didc.lbl.gov/TCP-tuning/TCP-tuning.html&quot; target=&quot;_blank&quot;&gt;http://www-didc.lbl.gov/TCP-tuning/TCP-tuning.html&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://ipsysctl-tutorial.frozentux.net/chunkyhtml/index.html&quot; target=&quot;_blank&quot;&gt;http://ipsysctl-tutorial.frozentux.net/chu...html/index.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;------------------------------------------- &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Second&lt;/b&gt; is the MySQL /etc/my.cnf settings file. A lot of people just leave this file with its default settings until they notice problems with their server performance. Please note that I&#039;m not including the &lt;i&gt;datadir&lt;/i&gt; or &lt;i&gt;socket&lt;/i&gt; settings since those can vary based on your server setup. Also I&#039;m only including the base &lt;i&gt;[mysqld]&lt;/i&gt; section and not any of the &lt;i&gt;[safe_mysqld], [mysqldump], or [myisamchk]&lt;/i&gt; sections. &lt;br /&gt;&lt;br /&gt;Also, update your MySQL to the latest version, if you are still running 3.x you should be dragged out into the street and beaten with a stick, seriously. Just download the MySQL RPMs from the MySQL website, it takes 30 seconds to upgrade. They usually release a new version every month. Be aware of the difference between 4.0.x and 4.1.x (or higher). &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codetop&quot;&gt;CODE&lt;/div&gt;&lt;div class=&quot;codemain&quot;&gt;[mysqld]&lt;br /&gt;&lt;br /&gt;connect_timeout=15&lt;br /&gt;&lt;br /&gt;interactive_timeout=100&lt;br /&gt;&lt;br /&gt;join_buffer_size=1M&lt;br /&gt;&lt;br /&gt;key_buffer=256M&lt;br /&gt;&lt;br /&gt;max_allowed_packet=16M&lt;br /&gt;&lt;br /&gt;max_connections=500&lt;br /&gt;&lt;br /&gt;max_connect_errors=10&lt;br /&gt;&lt;br /&gt;myisam_sort_buffer_size=64M&lt;br /&gt;&lt;br /&gt;read_buffer_size=2M&lt;br /&gt;&lt;br /&gt;read_rnd_buffer_size=2M&lt;br /&gt;&lt;br /&gt;sort_buffer_size=2M&lt;br /&gt;&lt;br /&gt;table_cache=1024&lt;br /&gt;&lt;br /&gt;thread_cache_size=100&lt;br /&gt;&lt;br /&gt;thread_concurrency=4&lt;br /&gt;&lt;br /&gt;wait_timeout=300&lt;br /&gt;&lt;br /&gt;query_cache_size=128M&lt;br /&gt;&lt;br /&gt;query_cache_limit=1M&lt;br /&gt;&lt;br /&gt;query_cache_type=1&lt;br /&gt;&lt;br /&gt;skip-innodb&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;For people with a single CPU be sure to set &lt;i&gt;thread_concurrency&lt;/i&gt; to 2 (4 is for Dual CPUs). People with 1GB of RAM, you might want to consider lowering the &lt;i&gt;key_buffer&lt;/i&gt; to 64M and the &lt;i&gt;myisam_sort_buffer_size&lt;/i&gt; to 32M. This really just depends on how much free memory your system has during peak traffic hours. If you increase these too much and your system runs out of physical RAM and starts swapping to disk, your system is going to eat it hard. &lt;br /&gt;&lt;br /&gt;For more information about Mysqld variables, please read the following articles as they explain all the settings in-depth and how to fine-tune them: &lt;a href=&quot;http://www.databasejournal.com/features/mysql/article.php/1402311&quot; target=&quot;_blank&quot;&gt;Article 1&lt;/a&gt; and &lt;a href=&quot;http://www.databasejournal.com/features/mysql/article.php/3367871&quot; target=&quot;_blank&quot;&gt;Article 2&lt;/a&gt; and &lt;a href=&quot;http://www.databasejournal.com/features/mysql/article.php/3110171&quot; target=&quot;_blank&quot;&gt;Article 3&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------- &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Third&lt;/b&gt; is Apache. Some people run 1.x, and some run 2.x, me personally I run 2.x because of the better performance. But some people are tied to the older version because of other software packages. &lt;br /&gt;&lt;br /&gt;The first thing to do if you are running 1.x is to get mod_gzip and use it. If you are running 2.x then use mod_deflate (it is included). This compresses all your HTML/TXT/XML data before it is sent, saving you bandwidth, and faster load times for your users. &lt;br /&gt;&lt;br /&gt;If you are serving up pages + images then you *probably* want to set your keepalive to on, and have your settings something like this: &lt;br /&gt;&lt;br /&gt;Timeout 60 &lt;br /&gt;KeepAlive On &lt;br /&gt;MaxKeepAliveRequests 1000 &lt;br /&gt;KeepAliveTimeout 10 &lt;br /&gt;&lt;br /&gt;By setting the KeepAliveTimeout low you won&#039;t have all those lingering connections. You can probably set it even lower if you like. &lt;br /&gt;&lt;br /&gt;If you are only serving up html (or php or whatever) pages, and using another web server for your images (like tux). Then you probably want to set your KeepAlive to Off since the user will only be requesting 1 file at a time. &lt;br /&gt;&lt;br /&gt;Most people have the bad habit of instantly increasing their &lt;i&gt;MaxClients&lt;/i&gt; to 256. This can be &lt;b&gt;BAD&lt;/b&gt; if you don&#039;t take into account memory availability. You need to determine how much memory you have free, how much each apache process consumes, then do the math to figure out what you can safely set the &lt;i&gt;MaxClients&lt;/i&gt; to. If you exceed your physical memory then once again the server will swap to the HD and the server will take a dive in performance. &lt;br /&gt;&lt;br /&gt;Comment out / remove and Dynamic Shared Object (DSO) modules that you do not use! There are a ton loaded by default, most which you will never use. I commented out 20+ personally! Read the apache documentation on what each one does, the apache docs are very detailed. &lt;br /&gt;&lt;br /&gt;If possible, set the &lt;i&gt;AllowOverride&lt;/i&gt; option to &lt;i&gt;None&lt;/i&gt;. This prevents apache from checking for the .htaccess file in every directory whenever a request is made. However if you use .htaccess files then you have to leave the setting there, but if you can limit it down to certain directories, then do it. &lt;br /&gt;&lt;br /&gt;Mask your Apache version by using the following settings: &lt;br /&gt;&lt;i&gt;ServerSignature Off &lt;br /&gt;ServerTokens ProductOnly&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;That&#039;s just good practice, you can also hide your PHP info by setting &lt;i&gt;expose_php = Off&lt;/i&gt; in your /etc/php.ini file.&lt;/p&gt;&lt;div class=&quot;postcolor&quot;&gt;&lt;b&gt;Fourth&lt;/b&gt; is PHP. One thing to do is use a program like eAccelerator which caches pre-compiled versions of your php files to help reduce overhead and increase performance. It is a free download from sourceforge, but it will require a little know-ho on your part to install. There are plenty of other guides on how to install this. It is very simple and quick. &lt;br /&gt;&lt;br /&gt;A lot of people use the redhat PHP RPMs, which can be quite bloated. My libphp4.so module is only 2.07MB in size. (I don&#039;t remember what the default redhat one is, but I&#039;m willing to bet it is larger). Also Redhat never seems to keep up to date with the latest PHP (or MySQL) version, I always recommend updating as soon as a new release is published. &lt;br /&gt;&lt;br /&gt;Here&#039;s my configure line. There&#039;s a lot of settings you may not use, and they could be ones that you use that I don&#039;t. You can view your current configure line via the phpinfo() function. These include all the big things such as GD, XML, SHM, etc.. Some people maybe want to enable a certain memory-limit to prevent PHP from eating too much memory per process. &lt;br /&gt;&lt;br /&gt;Also, I don&#039;t use mm simply because I found it would crash apache on an almost daily basis. I had problems with session storage, and also it would not restart after rotating logs... &lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;codetop&quot;&gt;CODE&lt;/div&gt;&lt;div class=&quot;codemain&quot;&gt;./configure &lt;br /&gt;&lt;br /&gt;--prefix=/usr &lt;br /&gt;&lt;br /&gt;--exec-prefix=/usr &lt;br /&gt;&lt;br /&gt;--bindir=/usr/bin &lt;br /&gt;&lt;br /&gt;--sbindir=/usr/sbin &lt;br /&gt;&lt;br /&gt;--sysconfdir=/etc &lt;br /&gt;&lt;br /&gt;--datadir=/usr/share &lt;br /&gt;&lt;br /&gt;--includedir=/usr/include &lt;br /&gt;&lt;br /&gt;--libdir=/usr/lib &lt;br /&gt;&lt;br /&gt;--libexecdir=/usr/libexec &lt;br /&gt;&lt;br /&gt;--localstatedir=/var &lt;br /&gt;&lt;br /&gt;--sharedstatedir=/usr/com &lt;br /&gt;&lt;br /&gt;--mandir=/usr/share/man &lt;br /&gt;&lt;br /&gt;--infodir=/usr/share/info &lt;br /&gt;&lt;br /&gt;--disable-cgi &lt;br /&gt;&lt;br /&gt;--disable-debug &lt;br /&gt;&lt;br /&gt;--disable-rpath &lt;br /&gt;&lt;br /&gt;--disable-memory-limit &lt;br /&gt;&lt;br /&gt;--disable-ipv6 &lt;br /&gt;&lt;br /&gt;--disable-safe-mode &lt;br /&gt;&lt;br /&gt;--enable-pic &lt;br /&gt;&lt;br /&gt;--enable-discard-path &lt;br /&gt;&lt;br /&gt;--enable-inline-optimization &lt;br /&gt;&lt;br /&gt;--enable-gd-native-ttf &lt;br /&gt;&lt;br /&gt;--enable-gd-imgstrttf &lt;br /&gt;&lt;br /&gt;--enable-magic-quotes &lt;br /&gt;&lt;br /&gt;--enable-sysvsem &lt;br /&gt;&lt;br /&gt;--enable-sysvshm &lt;br /&gt;&lt;br /&gt;--enable-sysvmsg &lt;br /&gt;&lt;br /&gt;--enable-shmop &lt;br /&gt;&lt;br /&gt;--enable-track-vars &lt;br /&gt;&lt;br /&gt;--enable-exif &lt;br /&gt;&lt;br /&gt;--enable-wddx &lt;br /&gt;&lt;br /&gt;--enable-bcmath &lt;br /&gt;&lt;br /&gt;--enable-calendar &lt;br /&gt;&lt;br /&gt;--enable-ftp &lt;br /&gt;&lt;br /&gt;--enable-inline-optimization &lt;br /&gt;&lt;br /&gt;--with-apxs2=/usr/sbin/apxs &lt;br /&gt;&lt;br /&gt;--with-mysql=/usr &lt;br /&gt;&lt;br /&gt;--with-pear &lt;br /&gt;&lt;br /&gt;--with-config-file-path=/etc &lt;br /&gt;&lt;br /&gt;--with-exec-dir=/usr/bin &lt;br /&gt;&lt;br /&gt;--with-gd &lt;br /&gt;&lt;br /&gt;--with-png-dir=/usr &lt;br /&gt;&lt;br /&gt;--with-jpeg-dir=/usr &lt;br /&gt;&lt;br /&gt;--with-freetype-dir=/usr &lt;br /&gt;&lt;br /&gt;--with-gettext &lt;br /&gt;&lt;br /&gt;--with-openssl &lt;br /&gt;&lt;br /&gt;--with-regex &lt;br /&gt;&lt;br /&gt;--with-ttf=/usr &lt;br /&gt;&lt;br /&gt;--with-expat-dir=/usr &lt;br /&gt;&lt;br /&gt;--with-dom=/usr &lt;br /&gt;&lt;br /&gt;--with-dom-xslt=/usr &lt;br /&gt;&lt;br /&gt;--with-dom-exslt=/usr &lt;br /&gt;&lt;br /&gt;--with-iconv &lt;br /&gt;&lt;br /&gt;--with-db4=/usr &lt;br /&gt;&lt;br /&gt;--with-gdbm=/usr &lt;br /&gt;&lt;br /&gt;--with-zlib=/usr &lt;br /&gt;&lt;br /&gt;--with-zlib-dir=/usr &lt;br /&gt;&lt;br /&gt;--with-xmlrpc &lt;br /&gt;&lt;br /&gt;--with-xml &lt;br /&gt;&lt;br /&gt;--with-bz2=/usr &lt;br /&gt;&lt;br /&gt;--with-cdb &lt;br /&gt;&lt;br /&gt;--enable-mbstring&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;postcolor&quot;&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------- &lt;br /&gt;&lt;br /&gt;When compiling programs (like PHP, eaccelerator, etc..), you can fine-tune some of your compile-options to enhance performance for your CPU&#039;s capabilities (and remove excess stuff like debug info) &lt;br /&gt;&lt;br /&gt;As mentioned before, I run dual xeon&#039;s (P4&#039;s for all practical purposes). If you are using a different CPU then you might have to go look up the proper flags at the GCC website. &lt;br /&gt;&lt;br /&gt;Before compiling a program, you can set the following flags: &lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;codetop&quot;&gt;CODE&lt;/div&gt;&lt;div class=&quot;codemain&quot;&gt;&lt;br /&gt;&lt;br /&gt;export CFLAGS=&amp;quot;-O3 -pipe -mcpu=pentium4 -march=pentium4 -fomit-frame-pointer&amp;quot;&lt;br /&gt;&lt;br /&gt;export CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;&lt;br /&gt;export CHOST=&amp;quot;i686-pc-linux-gnu&amp;quot;&lt;br /&gt;&lt;br /&gt;export MAKEOPTS=&amp;quot;-j2&amp;quot;&lt;br /&gt;&lt;br /&gt;export LDFLAGS=&amp;quot;-Wl,-O1&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;postcolor&quot;&gt;&lt;br /&gt;&lt;br /&gt;These flags are considered &amp;quot;stable&amp;quot; and should enhance performance a little for software that you compile with these options. There are tons of other flags, however some reduce precision for certain math (which can cause problems in certain software) and others may reduce stabililty. &lt;br /&gt;&lt;br /&gt;------------------------------------------- &lt;br /&gt;&lt;br /&gt;I guess that&#039;s about it... Use the information at your own risk. Hopefully it will help some people out, or at least point them in the right direction. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please don&#039;t post questions that are like: &amp;quot;here&#039;s my config, can you optimize it for X server?&amp;quot;. I don&#039;t check these forums that often, so I probably won&#039;t reply to your question.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;Server tuning is more of an art than just entering X setting to Y number. Before making changes, keep your old configs. Also get a monitoring program so you can graph out your server load and other vitals. That way you can see before &amp;amp; after results. Also, if you run a forum, let your users know that you are going to make changes, and get their feedback on response time and such from them. &lt;br /&gt;&lt;br /&gt;Enjoy. &lt;/div&gt;&lt;div class=&quot;postcolor&quot;&gt;&lt;/div&gt;&lt;div class=&quot;postcolor&quot;&gt;Source: &lt;a href=&quot;http://forums.theplanet.com/index.php?showtopic=48880&quot;&gt;http://forums.theplanet.com/index.php?showtopic=48880&lt;/a&gt;&lt;/div&gt;</description>
   <link>http://www.booservers.com/archivo/52_4_primary_areas_for_tuning_your_server.html</link>
      <pubDate>Thu, 04 Sep 2008 14:57:07 +0000</pubDate>   
  </item>
    <item>
   <title>cPanel Reverse DNS</title>
   <description>&lt;p&gt;After searching for help all over the net in adding PTR records to my cPanel DNS setup, I found a very easy to follow tutorial which along with some other sources, made it possible for me to get reverse DNS working with cPanel. It’s still a question I see quite a bit so I decided to create a short how-to to help others.&lt;/p&gt;&lt;p&gt;1. You must have reverse authority delegated to you from your hosting provider. Though common wisdom in forums says most providers do not delegate authority, I have found this to be untrue. I don’t recommend asking for it if you don’t feel confident you can handle the technical end of setting up BIND. &lt;br /&gt;2. You need to have a domain of course, or a few and it helps greatly to have DNS setup and working for a few days prior to attempting this.&lt;br /&gt;3. Every install of cPanel I have done to date comes with a broken BIND server. The issue is always the rndc.key issue. This is my first task for every cPanel install now to do the following fix before I add any information in cPanel WHM at all. To fix it, open /etc/rndc.conf in a text editor and at the top you should see this:&lt;/p&gt;&lt;br/&gt;&lt;center&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-7209259988091090&quot;;
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = &quot;300x250_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel =&quot;3498328464&quot;;
google_color_border = &quot;FFFFFF&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;006633&quot;;
google_color_url = &quot;000000&quot;;
google_color_text = &quot;0033CC&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/center&gt;&lt;br&gt;&lt;p&gt;# Start of rndc.conf&lt;br /&gt;key &amp;quot;rndc-key&amp;quot; {&lt;br /&gt;algorithm hmac-md5;&lt;br /&gt;secret &amp;quot;XXXXXXXXXXXXXXX==&amp;quot;;&lt;br /&gt;};&lt;/p&gt;&lt;p&gt;options {&lt;br /&gt;default-key &amp;quot;rndc-key&amp;quot;;&lt;br /&gt;default-server 127.0.0.1;&lt;br /&gt;default-port 953;&lt;/p&gt;&lt;p&gt;change all the references of “rndc-key” to “rndc.key”.&lt;/p&gt;&lt;p&gt;4. Now open /etc/named.conf and at the top change the rndc-key reference to rndc.key also.&lt;br /&gt;5. in SSH type “rndc reload”&lt;br /&gt;6. in SSH type /scripts/fixndc (try it twice, some people need to but I usually get a message telling me further uses of the script are not needed).&lt;br /&gt;7. It doesn’t hurt to go into cPanel WHM and restart BIND at this point. You should get a clean restart with no connection or rndc error.&lt;/p&gt;&lt;p&gt;Now the real fun begins. There’s a lot of really good technical information to be found in the process of setting up RDNS that helps one gain an understanding of how the DNS process works as a whole.&lt;/p&gt;&lt;p&gt;The current version of BIND for Redhat and cPanel uses a database system for the zone files and named.conf entries. It’s basically a two part process. BIND looks at /etc/named.conf for a list of zone entries which tell it what domains your server is responsible for. These entries tell BIND to go look in /var/named/ for zone.db files which contain the actual DNS information such as IP Address, MX records and soon, Reverse (PTR) records. &lt;/p&gt;&lt;p&gt;Reverse DNS is just that, its REVERSE. The server performing the RDNS lookup traces your IP address backwards in order to get to your servers DNS files and pull the PTR entry.&lt;br /&gt;Part1 : Adding the reverse lookup zones&lt;/p&gt;&lt;p&gt;For sake of example, were going to use the IP range 10.1.2.1 thru 10.1.2.4. To make it easy, were going to assign PTR for the domains punk.rocks.org (10.1.2.1) and icecream.ischill.org (10.1.2.2).&lt;/p&gt;&lt;p&gt;First open /etc/named.conf in pico or nano, etc and go down to the bottom of the page. We need to add the “in-addr.arpa” entries for our IP range. Your going to reverse the IP address and leave off the last digit, so our record would be for 2.1.10 instead of 10.1.2.# . The record should llok like this:&lt;/p&gt;&lt;p&gt;};&lt;/p&gt;&lt;p&gt;&lt;br /&gt;zone &amp;quot;2.1.10.in-addr.arpa&amp;quot; IN {&lt;br /&gt;type master;&lt;br /&gt;file &amp;quot;/var/named/2.1.10.db&amp;quot;;&lt;br /&gt;allow-update { none; };&lt;br /&gt;};&lt;/p&gt;&lt;p&gt;Be sure you have that }; separating your entries. This entry tells the lookup computer that IPs starting with 10.1.2. might belong to us and to go look at the file /var/named/2.1.10.db to get specifics.&lt;/p&gt;&lt;p&gt;That’s it for named.conf. If you own other address ranges you would want to add a separate entry for each of them too and point them each to their own ip block .db file.&lt;/p&gt;&lt;p&gt;Now we need to create a 2.1.10.db file in /var/named and edit it. I prefer to make a copy of another zone.db file and edit it locally using vim. It’s a normal DNS zone file except where you would have full IP address you only put the last digit of the IP.&lt;/p&gt;&lt;p&gt;; Modified by Web Host Manager&lt;br /&gt;; Zone File for 2.1.10&lt;br /&gt;$TTL 86400&lt;br /&gt;@ 14440 IN SOA ns1.rocks.org. root.rocks.org. (&lt;br /&gt;1997022703&lt;br /&gt;28800&lt;br /&gt;14400&lt;br /&gt;3600000&lt;br /&gt;86400&lt;br /&gt;)&lt;br /&gt;14400 IN NS ns1.rocks.org.&lt;br /&gt;14400 IN NS ns2.rocks.org.&lt;/p&gt;&lt;p&gt;1 IN PTR punk.rocks.org.&lt;br /&gt;2 IN PTR icecream.ischill.org.&lt;br /&gt;3 IN PTR res.rocks.org.&lt;br /&gt;4 IN PTR res.ischill.org.&lt;/p&gt;&lt;p&gt;That’s basically it. Your telling the lookup host that ip 10.1.2.1 reverses to punk.rocks.org and that 10.1.2.2 reverses to icecream.ischill.org . In this example ips 3 and 4 aren’t being used yet so I add res to indicate reserved for future domains. You can also leave them out of the .db file but I put them in for testing. Also note the periods after the domain names, they have to be there or it will not work.&lt;br /&gt;I left the default values for TTL, refresh etc, a test on some of the online DNS diagnostic tools indicates these can be improved upon greatly.&lt;/p&gt;&lt;p&gt;Once that’s all complete go to SSH and type rndc reload. If your domains have already propagated you can use an online DNS tool to check your IPs for reverse entry. It usually works very fast for me, changes showing up instantly. A good place to use is: &lt;a href=&quot;http://www.dnsstuff.com/&quot;&gt;http://www.dnsstuff.com/&lt;/a&gt;&lt;br /&gt;You can check you local DNS server by using the dig command in SSH.&lt;/p&gt;&lt;p&gt;Commands: dig your.domain.com and dig –x 10.1.2.1 you should get back lots of useful information, what you don’t want to see is “servfail”. This indicates the DNS server responsible is not responding.&lt;/p&gt;&lt;p&gt;Credits&lt;/p&gt;&lt;p&gt;Brian&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://Neoshell.net&quot;&gt;http://Neoshell.net&lt;/a&gt;&lt;/p&gt;</description>
   <link>http://www.booservers.com/archivo/9_cpanel_reverse_dns.html</link>
      <pubDate>Thu, 15 Dec 2005 19:14:18 +0000</pubDate>   
  </item>
  </rdf:RDF>
