Performance Tips for Your Windows VPS running Virtuozzo

Here’s Jess’s top 10 tips and tricks to help optimize your Windows VPS server running on Virtuozzo. 

  1. Disable Indexing Service
    Unless you’re using the FrontPage search bot you generally don’t need indexing service running and you should disable it.
  2. Defrag your drives
    Disk I/O is king, especially in a VPS and you should be regularly defragging your drives in your VPS just as you would in a physical server.
  3. Don’t run antivirus in the VPS
    Antivirus should always be run from the host node and on our servers it is. We use either AVG or McAfee on our hardware nodes.  This doesn’t mean you have to accept virus infected emails. Configure your mail client to allow a suitable delay in email delivery (I recommend 60 seconds if you can, otherwise 30 should be sufficient) and the hostnode antivirus will take care of the rest. 

    Smartermail installs clamd these days and I recommend you disable it and not use it. It’s proven to be quite the resource hog.

  4. Don’t run spamassassin
    Disable spamassassin checks in your VPS when running Smartermail. If you absolutely have to have spamassassin running with your VPS you should run spamassassin on a Linux dedicated server or vps and remotely connect to it in smartermail, this works great and allows you to make use of threading.
  5. Enable Windows Firewall and secure your VPS
    This is a must. Although the kernel is protected in your VPS, you’re still responsible for security in your virtual private server. Enable Windows Firewall and configure it.

    While on the topic of security you do not have to install OS updates, these are managed at the host-level. However you do need to remain aware of new updates and install them for any other server software you may have installed on your windows vps server such as SQLexpress updates, Smartermail updates, etc.  If you’re using Plesk you can request support to update Plesk for you as it’s installed through an application template. Verify things like open-relay mail servers are not enabled, anonymous FTP uploads are disabled, etc.

  6. Whenever possible use an application template.
    Application templates save memory and diskspace on your VPS.  An example of this is the OS install on your VPS. With just Windows your VPS uses about 150MB of diskspace, yet a full install of the OS uses about 4GB of diskspace. In fact an install of Windows Server 2003 on almost every other virtualization platform will use 4GB of diskspace.  This is a huge savings.
  7. Close your Terminal Services sessions and logout, do not just disconnect. 
    Each active Terminal Services session uses about 20MB of memory.  When you consider each VPS has generally 2 TS sessions (3 if you include the fact you’re able to TS into the console by using the command mstsc /console /v:YOUR_SERVERNAME ) and figure about 30 active VPSs on a machine that adds up to close to 2GB of memory that would be wasted memory on a server.
  8. Some applications when installing may require you to connect to console port.
    One such application is Windows Sharepoint Services 3.0. To connect to the console port use the command from dos:  mstsc /console /v:YOUR_SERVERNAME  where YOUR_SERVERNAME is your VPS host name.
  9. Don’t forget that you can manage your VPS through the Virtuozzo Power Panels,
    This includes tasks such as stop, start, reboot, backup, restore and even mount the filesystem without turning on the VPS.  To access the management port go to:  https://YOUR_SERVERNAME:4643/   where YOUR_SERVERNAME is your VPS host name. Remember when connecting to a port you have to explicitly type http://YOUR_SERVERNAME:PORT/  and not just type YOUR_SERVERNAME:PORT.

    There is a bug in the virtuozzo power panels that it may throw errors and say contact your hosting provider. If you get these errors the first thing you should do is go to preferences and set the timezone to your local time zone and not leave it to server default.  This generally fixes that error and a bugfix is due out shortly from SWsoft to fix this known issue.

  10. Configure your SQL services or better yet use shared SQL.  These days any web application is going to require a SQL database be it MSSQL or MySQL.  My recommendation is use a shared SQL database on a shared database server. Today SQL hosting is pretty cheap (about $10/month for 100MB is the norm) and networks like ours use a dedicated gigabit network for internal traffic so any latency connecting to the SQL server would be offset quickly by the amount of memory and Disk I/O you’d save by not running SQL on your VPS.  If you must run SQL on your VPS though then make sure you set a memory cap on the SQL service or you’ll find before long it’s using all your memory on your VPS and your apps will be starving for memory.
  11. What? 11? You said there was only ten.  Consider this … The Bonus Tip:  Backup, Backup, Backup. 
    With any server it’s important to have backup copies of your web content, databases and any information that’s vital to the operation of your websites and online business. This is the same with VPS servers.  No matter what any host tells you, you should never rely on just one backup or on someone else to manage your backups for you. You should always maintain a local (as in, your local desktop computer in the office or at home) copy of your website and website details.   I have heard horror stories time and time again of this and it always starts as “Well, I assumed  THEY/HE/SHE/THEM/YOU/(Anyone else but me) was doing backups and they just worked!”  What’s the problem?    The problem is backups go bad, files don’t restore, media fry, drives fizzle and bits get lost.  It happens and if anyone tells you it doesn’t happen don’t trust them, keep a local backup of your sites.  Think about this, and we’ll use this scenario instead of thinking of exploding U-Hauls full of fertilizer or natural disasters. One day all of the employees of your hosting company pool in $1 for a lottery ticket and a chance to win a billion dollars. They hit the lottery and each walk away with $100 million (much happier story than that flaming u-haul truck).  During all the celebrating, they decide to have a weenie roast in lobby of the building, the flames get out of control the building, the servers and the backups go up in flames. The new billionaires decide there’s no way they’re fielding those calls and take their new found wealth buy a island in the Caribbean and retire.  All your backups with that host are lost and anyone that knows how to restore your backups is off searching for buried treasure in the Caribbean. It will take ages to ever restore your backups. But if you have a local copy of your data (even if it’s a week old or month old), you’ll be back online and able to rebuild your site within a few days. Backup Backup Backup.

Those are my tips. When it’s said and done the common sense solution is this.  VPS’s have two resources they need to manage the most, that’s memory and disk I/O.  Everything you can do to minimize or optimize your usage of these two resources will improve your VPS performance. I’d love to hear from anyone else that has any recommendations on how to improve the performance of a VPS/VE running on Virtuozzo for Windows.

One Reply to “Performance Tips for Your Windows VPS running Virtuozzo”

Leave a Reply