Stop Letting "Noisy Neighbors" Kill Your I/O
It was 03:00 CET on a Tuesday. My pager went off. A critical MySQL slave for a major Oslo-based e-commerce client had fallen 20,000 seconds behind the master. The load average? Normal. The memory usage? Within limits. But the disk latency was spiking to 500ms.
The culprit wasn't our code. It was the "neighbor" on the same physical host running a massive backup script, hogging the I/O controller. We were on a budget OpenVZ container, and we were paying the price for shared kernel resources.
If you are serious about VPS Norway hosting, you need to stop using shared-kernel containers for production databases. It is time to embrace KVM (Kernel-based Virtual Machine). Here is why.
The Myth of "Guaranteed" Resources in 2011
Most hosting providers sell you "burst" RAM and CPU. In technologies like OpenVZ or Virtuozzo, you are sharing the host's kernel. When a container nearby panics, you panic. When they saturate the file system cache, your `innodb_buffer_pool` fights for scraps.
At CoolVDS, we deploy strictly on KVM. Unlike containers, KVM treats your VPS as a completely isolated machine with its own kernel, its own memory space, and most importantly, strictly allocated I/O limits.
The "Steal Time" Metric
Open your terminal. Run top. Look at the %st (steal time) value in the CPU line.
Cpu(s): 12.5%us, 2.0%sy, 0.0%ni, 80.0%id, 0.0%wa, 0.0%hi, 0.0%si, 5.5%st
If that last number is consistently above 0%, your hypervisor is stealing cycles from you to feed another customer. In a properly tuned KVM environment, like the ones we engineer, this should be virtually non-existent.
Technical Deep Dive: Optimizing KVM for MySQL
Migrating to KVM isn't just about stability; it's about tuning. Because you own the kernel, you can change the I/O scheduler. In a virtualized environment, the host manages the physical disk geometry. Your guest OS shouldn't try to outsmart it.
For a CoolVDS instance running CentOS 6, we recommend switching from cfq to noop or deadline to lower CPU overhead on disk operations:
# Check current scheduler
cat /sys/block/vda/queue/scheduler
[cfq] deadline noop
# Change to deadline (add to /etc/rc.local for persistence)
echo deadline > /sys/block/vda/queue/scheduler
This simple change can reduce latency by 10-15% on heavy database writes.
Latency, Law, and Location
Latency is physics. If your customers are in Oslo, Bergen, or Trondheim, hosting in a German or US datacenter adds 30-100ms of round-trip time (RTT). For a dynamic PHP application making 50 database queries per page load, that latency accumulates fast.
Furthermore, we must respect the Personopplysningsloven (Personal Data Act). The Norwegian Data Inspectorate (Datatilsynet) is becoming increasingly vigilant about where citizen data resides. Hosting locally isn't just about low latency; it's about compliance with the EU Data Protection Directive.
Pro Tip: Use mtr (My Traceroute) to verify the network path. A route from a typical Norwegian ISP (like Telenor) to CoolVDS should stay within the NIX (Norwegian Internet Exchange) and never exceed 15ms.
Storage Performance: Why We Use RAID-10 SSD
While the industry buzzes about the emerging NVMe storage specification finalized earlier this year, the current gold standard for reliability and speed is Enterprise SSDs in RAID-10 configuration. We don't mess around with single disks.
Spinning SAS drives (15k RPM) are fine for backups, but for your root partition and /var/lib/mysql, you need the random IOPS that only solid-state storage can provide. This prevents the "I/O Wait" bottlenecks that plague Magento and Drupal sites.
| Feature | OpenVZ / Containers | CoolVDS (KVM) |
|---|---|---|
| Kernel | Shared (Risky) | Dedicated (Stable) |
| Swap | Fake / Burst | Real Partition |
| Firewall | Limited iptables | Full Netfilter + ddos protection |
Conclusion: Stop Sharing Your Engine
You wouldn't share a car engine with a stranger during a race. Why share your server kernel? Managed hosting has evolved. It is no longer about just keeping the lights on; it is about guaranteeing the cycles you pay for.
If you are ready to drop the "steal time" and get serious about performance, deploy a KVM instance today. Verify the benchmarks yourself.