VPS Resources

From Hostek.com Wiki
Revision as of 20:14, 26 May 2015 by Chrisd (Talk | contribs)

Jump to: navigation, search

Components

Custom components can be installed on your VPS with hostek.com, we do not supply the components however if your VPS is managed we can install them with the necessary installation keys and information to download the components.

Component installation

For Windows

  • Our servers are 64bit by default, for 32bit components on non-managed VPS accounts will require "Enable 32bit Applications: TRUE" to be set within the Application Pool in IIS for the specific site using the component.

For Linux

  • Ensure compatibility by checking with the vendor before hand, our Linux servers by default are installed with 64bit CentOS, with Cpanel(easy apache).


Domain limits

Questions: How many domains can I put on one VPS server?

The number of domains that can be hosted greatly depends on the type of work the server has to do for your application (ie website). For example if we break down the usage into processes we can easily see how the answer to this question depends on many factors, however most times optimizations can greatly increase the capabilities of a VPS without requiring upgrades.

Typical server resources include:

  • CPU
  • RAM
  • Disk I/O
  • Bandwidth

Typical services used:

  • Web Server (Apache or IIS)
  • DB Server (MySQL or MSSQL)
  • Mail Server (Exim or SmarterMail)
  • Application Server (ColdFusion, Railo, PHP)


Each service will use a combination of the resources and services to "serve" the application to the internet. The optimal configuration would utilize as much caching (database results) and optimized static files (txt, html, css, images). In addition limiting the number of outbound calls to external resources for generating site content is important. The difference between a site utilizing caching, optimized files and scheduled import of exernal resources may be from 10 to 100% better performance.


The key is optimization, a site fully optimized would likely run into a bandwidth limit before server resource usage would ever be an issue. See the examples below of bandwidth limitation for 3mbps sustained traffic, while VPS servers allow "bursting" which is periodic spikes:


  1. Google (search results page) approx 2KB, can serve 11,250 results in one minute @ 3mbps or 37,500 new visitors @ 10mbps (burst).
  2. Yahoo (home page results) approx 200KB, can serve 112.5 new visitors in one minute @3mbps or 375 new visitors @ 10mbps (burst).


The key to serving you can see from the example above is optimizing content. A media rich website is going to utlize many more resources both bandwidth and other thus it will handle much less than a mostly text based website.

Checklist for optimizing applications for maximum server performance:

  1. Are the images on my website optimized?
  2. Is an Expires or a Cache-Control Header being utilized?
  3. Are all possible queries being cached in memory?
  4. Are the tables being used in queries with the "where" clause indexed?
  5. Are CSS, JS and other TXT resources compressed using server side (Gzip) compression?
  6. Are JavaScript and CSS Minified?
  7. Are the number of HTTP requests visitors have to make minimized?

Recommendations: GENERAL GUIDELINES

This information is meant to help give an example based on average site usage, not all sites or use cases will fit into these generalized suggested solutions.

  • Traffic usage between 0-300GB, minimal requirements (not ColdFusion), Basic VPS can handle 30 websites.
  • Traffic usage between 0-300GB, minimal requirements (with ColdFusion), Silver VPS can handle 20 websites.
  • Traffic usage between 300-1000GB, medium requirements (not ColdFusion), Silver VPS can handle 50 websites.
  • Traffic usage between 300-1000GB, medium requirements (with ColdFusion), Enterprise VPS can handle 50 websites.
  • Traffic usage between 1000-3000GB+, large requirements (no ColdFusion), Enterprise VPS can handle 250 websites.
  • Traffic usage between 1000-3000GB+, large requirements (with ColdFusion), Virtual Dedicated can handle 200 websites.

How to see what programs are consuming Windows server resources

Disk Space

If you are running into disk space issues on your Windows VPS, the best way to determine what is consuming your disk space is to download a program named WinDirStat and execute it. Once you download WinDirStat ( http://windirstat.info/index.html ) and complete installation, you will execute the program which will look like the following:

Windirstat1.PNG

Unless otherwise requested, your VPS will typically only have a C:\ drive that contains the site files (\home folder), MySQL, MSSQL, etc. Make sure the appropriate drive is selected, and select "OK"

Once WinDirStat completes the analysis of the hard drive, you will see something similar to the image below:

Windirstat.PNG

You will not typically want to remove anything that resides in the "Windows" or "<Files>" directory as these contain essential Windows operating systems files. Removal of these will result in disastrous problems for your server. If you are in doubt about the removal of anything, you can submit a ticket at https://support.hostek.com for guidance.

CPU/RAM

If you are concerned about the possibility of high memory (RAM) or high CPU usage, the easiest way to determine what is consuming resources is to launch the Windows Task Manager. In order to launch the task manager, right-click the Windows taskbar and select "Task Manager". From there, you can select the Performance tab to see overall CPU/RAM usage as well as network traffic speed. Select the "Detail" tab to view more specific information on usage. You can then click the "CPU" or "RAM" columns to sort by highest CPU or RAM consumption.

  • Note: If you do not see the CPU or RAM columns as shown in the image below, right clock any column and choose "Select Columns". At this time, you will be able to check the box next to each item you wish to monitor.

Cpuram.PNG


Storage configuration

Disks in our storage arrays are performance optimized - data writes are done to RAID10, and incrementally data pages are converted to RAID 5 or RAID 6. Several factors must be considered when choosing a RAID level. Besides the obvious of read and write performance, one must consider usable disk space, fault tolerance, rebuild time in the event of disk failure, and degraded performance in the event of disk failure (degraded performance refers to the performance of the storage array while a rebuild is taking place after a disk failure).

SAN vs Local Storage

SAN Storage is the default for our Cloud Services - with the exception of Virtual Dedicated. We chose SAN because of it's integration with VMWare and High Availability options; you can read about our storage evolution.

The robust nature of the SAN make it the superior choice for highly available storage in most cases. Just like a traditional disk or even a local raid set there can be disasters however a properly deployed SAN will have redundancy at all levels. At Hostek our primary SAN is replicated to a completely independent secondary SAN. When comparing SAN to local storage there can be a very small performance penalty with SAN Storage. Consider the overall performance and benefits gained.

SAN Storage Benefits

  • Multiple Spindles - Exponential performance gains.
  • RAID Volumes - SAN's are configured with optimal RAID levels.
  • Automated Block Level Data Movement - For optimized performance.
  • Redundant SAN - If the Primary SAN fails the secondary SAN will be promoted.
  • Near Time Replication - Primary SAN to secondary SAN.
  • Daily Snapshots - For rapid recovery of yesterday's data.

In this discussion on SlashDot regarding SAN vs Local most experts agree that SAN is an excellent choice especially when configured and managed by industry professionals. Please contact sales - by creating a ticket if you have custom storage requirements.

Determining Disk I/O

It may be necessary to determine the average disk I/O when researching a solution for your infrastructure:

Windows 2008

The Average Reads and Writes per second of the disk for 24hrs. Here's how to get this:


  1. Open the server, click Start, type Perfmon in the search, click search glass to go.
  2. In Perfmon expand Data Collector Sets, User Defined, right click and create a new named set.
  3. Select the set you created, in the right panel click to select the "System Monitor Log" and right click to select properties.
  4. Add the two counters Physical Disk Average Disk Bytes Read and Physical Disk Average Disk Bytes Write, click OK.
  5. Right click on the Data Collector Set you created and click start. Let run for 24hrs approximately then right click and click stop.
  6. Browse to the directory where the data log was created, email or send the file to our support team.

Windows 2003

Start, Run, type perfmon and click OK.

  1. Remove any existing counters, select them all and press the DEL key.
  2. Expand "Performance and Counters"
  3. Click the "Add Counters" sign to add specific counters, Performance Object: Physical Disk, Total_
    • Physical Disk:Reads/sec
    • Physical Disk:Writes/sec
    • Physical Disk:Write Disk Queue
  4. NOTE the location of the log file. Click on the “Log files” tab and click on the "Configure" button, specify a different location (OPTIONAL) for the log file. Type of file should always be Binary.
  5. Schedule the task to run for 24hrs approximately.
  6. Browse to the directory where the data log was created, email or send the file to our support team.


Scaling Disk Space

Additional disk space can be added at any time for any VPS and there are a few ways this can be accomplished. Existing disks can be extended (i.e. increased) in size, or an additional disks can be added. Consider the following information when deciding how disk space should be scaled - when a decision is reached submit a request to our Sales Team.


Extending an existing disk

It's currently not possible to shrink a virtual disk. Any additional disk space added should be considered permanent for the life of the server. If additional disk space is purchased, and then it's decided that the disk space is not necessary the only possible solution is having the virtual machine converted to a new VM with a smaller virtual disk. That can be a lengthy process that will require pre-planning and scheduled offline maintenance.


Attaching an additional drive

This is the recommended method for scaling your data storage overall, because multiple smaller drives or partitions can be added and smaller drives can be restored much faster than a single very large drive. NOTE This option should also be carefully considered because applications with hard coded paths may have to be re-written to use relative paths or hard coded paths updated.

  • Windows VPS: This means getting a completely new drive for example a D: drive
  • Linux VPS: This means a new partition, for example /home2