Stop Letting Apache Kill Your Server Load
If you are running a high-traffic site on a standard LAMP stack, you have likely seen the symptoms. Your RAM usage spikes, swap starts thrashing, and your httpd processes are stacking up faster than you can kill them. The problem isn't your code; it's the architecture. Apache is fantastic, but it uses a thread/process-per-connection model that consumes heavy resources just to keep a connection open.
It is 2010. We have better ways to handle concurrency. The solution is placing Nginx in front of Apache as a reverse proxy. This setup allows Nginx to handle the heavy lifting of connection handling and static files, while Apache stays in the back, doing what it does best: processing PHP.
The Architecture: Nginx + Apache
In this setup, Nginx listens on port 80. It parses the request. If it's a static file (jpg, css, js), Nginx serves it directly from the disk—efficiently using asynchronous I/O. If it's a dynamic request (PHP), it passes the request to Apache listening on port 8080. This drastically reduces the memory footprint because Apache only wakes up when there is actual processing to do, not when a user is on a slow connection (the "Slowloris" attack vector).
Configuration Implementation
Assuming you are running CentOS 5 or Ubuntu 10.04 (Lucid Lynx), ensure you have the latest stable Nginx (currently 0.7.65 or the 0.8.x branch). Here is the nginx.conf logic to handle the proxy pass:
server {
listen 80;
server_name your-site.no;
# Serve static files directly
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$ {
root /var/www/public_html;
}
# Pass dynamic content to Apache
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
Pro Tip: On Linux kernels 2.6+, make sure you enableuse epoll;in your main events block. This event notification mechanism is vastly superior toselectorpollfor handling thousands of connections.
Why Hardware and Geography Matter
Software optimization can only go so far. If your underlying hardware is suffering from I/O wait, your configuration tuning is useless. This is where the physical location and the quality of the virtualization matter.
Latency is physics. If your target market is Norway, hosting in the US or Germany adds unnecessary milliseconds to every packet round trip. Through the NIX (Norwegian Internet Exchange), traffic stays local. A visitor in Oslo accessing a server in Oslo experiences near-instant response times.
The CoolVDS Difference
Many providers oversell their nodes using OpenVZ containerization, meaning your "guaranteed" RAM is often borrowed by a noisy neighbor. At CoolVDS, we utilize KVM (Kernel-based Virtual Machine) and Xen. When you buy 512MB RAM, it is hard-allocated to your kernel. We also prioritize disk throughput. While others run on standard SATA drives, our infrastructure is built on Enterprise 15k RPM SAS arrays in RAID 10. This ensures that when Nginx wants to read that static image, the disk responds immediately.
| Feature | Standard Shared Hosting | CoolVDS (VPS Norway) |
|---|---|---|
| Virtualization | Often Oversold | Dedicated KVM/Xen |
| Storage | Slow SATA | High-Speed SAS RAID 10 |
| Compliance | US Safe Harbor (Risky) | Norwegian Data Act |
Compliance and Data Sovereignty
With the increasing focus on privacy, sticking to the Norwegian Personal Data Act (Personopplysningsloven) is crucial for business. Datatilsynet is strict. Hosting data within Norwegian borders simplifies compliance significantly compared to navigating the complex US Safe Harbor frameworks.
Next Steps
Don't wait for your site to crash during a traffic spike. Implement Nginx today. If you need a sandbox to test this configuration without risking your production environment, spin up a CoolVDS instance. You get root access, low latency, and the stability your business demands.
Deploy your high-performance VPS in Oslo today with CoolVDS.