Earlier this year, I decided to make the leap to PHP 7 prior to it officially becoming a part of my servers distribution (I run Ubuntu).
It has probably been the easiest and best change I have made to my personal server stack in a number of years.
Granted, it wasn’t without a few minor issues. In the custom PHP code I wrote for clients, I got a little lazy over the years and did not open my PHP code blocks with <?php … and still just had php.ini to allow that, but I decided to go through my custom code and add the
Switching to PHP 7 gave a very large advantage… The speed. It is substantially faster than PHP 5. I ran benchmarks on my 1GB linode before and after the switch and PHP 7 literally doubled the speed of code execution.
Here are my basic server specs on most of my servers. There are minor variations.
Linode 1GB VPS
Ubuntu 14.04.5 LTS
MySQL 5.5.50-38.0 Percona Server
PHP 7.0.9-1 (FPM)
Along with the PHP 7 switch, moving from the unmaintained Cherokee web server to Nginx as well as adding WP-Supercache to *all* my WordPress sites, the speed increase is VERY notable. Almost like I’m using a CDN when I am not.
Between my three primary servers, I am running 53, 43 and 37 sites on each. Probably 75% WordPress, 25% Static HTML bootstrap type sites. CPU load times are never greater that 1.0 and usage rarely exceeds 5-10% (Primarily thanks to WP-Supercache).
I know I talk about Linode a lot on my site here, but they are my faithful VPS hosting provider, so I want to support them as much as possible.
Recently, Linode made the jump to SSD drives for VPS and at the same time, doubled the RAM for them. SSD drives are not new for VPS providers, for example, Digital Ocean has used SSDs for over a year and at a lower price point for a basic server ($5/mo for 512mb RAM & 20GB space). Linode has a higher starting price point, but it’s well worth the price considering the robustness of the Linode experience including the control panel, very active support staff and excellent hardware.
I currently have 5 VPS on Linode, but manage another half dozen or so for clients. So when it came to “testing” out the SSD upgrade, I wanted to try it on my own first. It was relatively simple. The only caveat was that a few of my VPS were setup with 32-bit kernels. I had to change them to 64-bit and that was all. I clicked the “Upgrade” button in the Linode control panel and it only took about 10-15 minutes to migrate my VPS to new SSD servers with the 1GB memory upgrade. I then proceeded to update Ubuntu to 14.04 LTS on them all and they are running smoothly. Very painless.
Doing a hdparm drive benchmark, it is notably faster than before.
Timing cached reads: 6854 MB in 1.99 seconds = 3442.87 MB/sec
Timing buffered disk reads: 404 MB in 3.02 seconds = 133.82 MB/sec
Timing cached reads: 19672 MB in 1.98 seconds = 9931.54 MB/sec
Timing buffered disk reads: 2856 MB in 3.00 seconds = 951.48 MB/sec
So, in conclusion, Linode continues to make major improvements to their infrastructure without raising the cost to the end-user. I hope they keep up the good work and they will have my business for years to come.
Linode has invested over a million dollars into upgrading their network, servers and bandwidth to levels that are unparalleled when it comes to all the features they have already made available to subscribers.
There are three parts to the “Nextgen” upgrade so far.
“We’re spending $1 million making our network faster. Way faster. Cisco Nexus 7000 routers. Cisco Nexus 5000 switches with Nexus 2000 Fabric Extenders. Linode outbound network cap increased 5x. Outbound monthly transfer quota increased 10x.”
“We’re investing millions to make your Linodes faster. Crazy faster. We’ve begun a refresh of 3/4 of our entire fleet to a new ‘NextGen’ host hardware specification. And we’re upgrading all Linodes to 8 cores! Right now. As in all you need to do is reboot to double the computing power of your Linode.”
“We’re doubling the RAM on all of our plans. This upgrade is available to existing and new customers. New Linodes will automatically be created with the new resources. Existing Linodes will need to go through the Upgrade Queue to receive the upgrades.”
These upgrades represent a MAJOR upgrade. I went from 1.2 TB of outbound to 12 TB. That is quite substantial. The 8 core hardware upgrade is a little harder for most to quantify, but it’s better than the 1-2 “visible” cores I get on DigitalOcean or other “minor” providers. The RAM went from 512 (for me) to 1024. That is very substantial as well when you determine how many sites you can run on a single 512 machine and how many more you can run with double the RAM.
I actually, to Linode’s loss, removed one of my VPS servers and moved sites over to one of the newly upgraded ones. I’m sure, once I outgrow my latest linode, I’ll expand to a new one once more, but for the time being, I love having the additional resources. For my “first” linodes and client ones, it’s great to have the additional resources, especially the “pooled” bandwidth.
Anyone who is looking for a VPS server would be stupid not to get one on Linode with all they have to offer. I manage 9 linodes split between 3 different accounts and the piece of mind that my sites are “safe” is reassuring. I have linode backups on half of them. 30 day S3 and personal rsync backups on the others and do not have to worry about my clients.
Here is my referral link.
When I started hosting websites for clients, I hosted them in-house, literally, in my house. This was nice because I had direct control over the servers and could quickly fix them or migrate data if there were hardware failures. But obviously, it does not scale very well when it comes to bandwidth, and if you need many servers, the power and cooling requirements can get out of hand.
At the point when I felt my home setup was “obsolete”, I then took the plunge onto GoDaddy dedicated servers, 2 of them at the time. One was for websites and ran Windows 2003 Server with IIS. The other was a mail server and each had DNS running on them so I didn’t have to depend on/pay for a third-party DNS provider.
GoDaddy dedicated servers ended up being the biggest mistake I ever made. They ran well for a while, but then a worm of some kind crawled around their internal network and came in through some backend they use to manage the servers. I had everything well locked down, all Windows sharing turned off, including unneeded admin shares (C$, etc.) and had the firewall pretty tight. It took around 3 days to recover fully from the crash and even though the machines were virtually “destroyed”, I was fortunately able to FTP out all my customer data.
I moved most of my ASP & .NET sites over to a Windows 2008 Server at CrystalTech. Including email (SmarterMail), which I love, but with the limited space on a Windows VPS, it is quickly filling up with email (people rarely delete things when using IMAP). I still use Crystaltech and they’ve been very stable, but their cost is quite a bit higher than other virtual solutions.
After the GoDaddy crash, all my PHP sites moved to virtual servers running Ubuntu with a standard LAMP stack. Apache got old real quick. It required constant tuning. I explored many web servers to find one with better performance, at one time, I had three setup for ALL my virtualhosts where all I had to do was stop all the web daemons, change the config of the one I wanted to use to 80 and just start that one, bring up all my sites on a different daemon. I finally settled on Cherokee and have NEVER looked back.
Slicehost, in my opinion, had HUGE potential at one time (pre-Rackspace buyout). The support was phenomenal, everyone in the company was open and reachable. I many times talked to the founder via chat and email. But all of that went down the drain with Rackspace and all Slicehost’s offerings and prices went stagnant.
I recently cancelled Slicehost completely after getting a hard to access domain, whose DNS was hosted with Slicehost, to change their nameservers to Linode’s.
I’ve used a number of other minor providers from time to time that I won’t get too much into here. None of them seemed to be as “turnkey” as places like Linode and Slicehost when it came to the admin backend experience. They were either too complicated or did not even have some of the basics required for “full service” hosting.
Linode, so far (knock on wood), has been the best company I’ve ever done business with. Rock solid, great support at all hours, fast host servers, lots of datacenter locations, excellent control panel, iPhone app, etc. I can’t say enough to express my happiness with the service.
I currently host a number of VPS servers with them and have brought over a few clients onto their own server(s). We host everything from test servers to full production and even PBXs. All runs perfectly.
It will be a sad day in VPS hosting land if Linode ever gets bought out by some mega hosting company like Rackspace.
To end this up, decentralization has been the best thing I have done and it is multi-faceted. I separated websites onto multiple, less expensive virtual servers, which prevent ALL my sites from going down when something happens to one of them. I’ve moved most of my clients to Google Apps for Domains, both business and standard, for email.
My uptime has dramatically improved, my customers are happier and that’s what matters.
Sometimes you don’t need a full blown web hosting environment with MySQL, PHP and other dynamic components. Sometimes you just need to host a static website.
We can host static websites on one of our normal servers and support quite a large number of hits, but sometimes you may need VERY high availability service.
Examples of this include:
- Informational sites with links to many downloadable files requiring high bandwidth
- A “micro site” that is being sent out to a large number of people simultaneously requiring a large number of concurrent connections.
- Static file hosting, such as images. For example, if you have a blog with a lot of images, you can host the main site on a normal PHP server and the images on a high power system.
This is where Amazon S3 Static website hosting comes in handy.
You simply create a “bucket” in S3, create the website endpoint, choose the “index” file such as “index.html”, upload your static website and add a CNAME pointing to the URL that is given to you in the S3 control panel.
Although it’s not too hard to set up this service, we can provide assistance in establishing the initial site and helping you setup a client to upload files into the web space.
One advantage we can offer is the ability to host your static website on Amazon and still have some dynamic capabilities such as email forms, entering form data into a MySQL database, etc.
Contact us for more information and a quote on setting it up.
Over the past few years, I’ve become a big fan of Virtualization technologies like VMWare, VirtualBox, Xen, Microsoft Hyper-V, etc. So much so that I moved the majority of our clients to virtual server solutions.
On the desktop, I tend to use VirtualBox from Sun. It seems to perform the best for both Windows and Linux, but does not contain (on Windows) many “enterprise” level features found in XEN and VMWare Server.
I initially used VMWare Server to setup numerous VMs for software and platform integration testing and other fancy stuff like that. I still use VMWare Player for a couple VMs I have left from the past, but VirtualBox is my favorite for desktop testing.
When it came to XenServer, I did not have much experience with it since I *thought* it was more of a IT Backendish type of Virtualization software and more arcane (CLI Only). Perhaps it was at one time. Now I’m no stranger to the command line interface, but still like a nice interface to be able to “see” all the settings right in front of me.
But regardless of my misconception, I decided to download XenServer and install it on one of my spare test boxes. XenServer is full virtualization host “OS” that you install and all the guest machines are run inside it.
I won’t go through all the minute details, but XenServer was a breeze to install, only asking basic questions and the IP to assign to the server. It’s best to put it on a decent machine with lots of hard drive space, plenty of RAM and processor power. Having virtualization extensions on the CPU is a BIG plus and allows you to run Windows VMs.
On older machines, like my old Pentium D Dell server, that do not have virtualization extensions, are not able to run Windows virtual machines. The Linux (Ubuntu in my case) VMs worked just fine without them.
For Windows VMs, I used a newer Quad Core Phenom box and put 4 Windows Server 2003′s (by cloning them) on it by using the VMWare to XEN conversion program. It was a little buggy getting the image converted, but the Citrix XEN forums helped quite a bit.
Overall, I’ve been extremely happy with the performance of XenServer and when it comes to testing, I don’t think I’ll go back to desktop type virtualization solutions like VirtualBox (big learning curve for advanced CLI functionality) and VMWare Server (which has a crappy, buggy web interface, the last time I used it). They also require you to already have an existing full blown host OS, at least under Windows.
To manage the servers, there is a desktop application called XenCenter you can use to connect remotely to one or more XenServers. It allows you to manage all aspects of your XenServer(s) even allowing you to easily upload, install, snapshot, clone and even do live migrations of VMs between XenServers.
One of my favorite features was the ability to create “templates” of a machine so you can easily spin up a new one from the template. It’s always there and you can have many different variations of a server for example, like a clean server install, one with IIS & ASP.NET configured and yet another with a full custom configuration. Just use the template, create a new VM from it, be sure to change the default IP so it doesn’t conflict with an existing machine and you’re good to go.
There are some sites out there you can google that have XEN ready images you can upload through the XenCenter software into the server and boot.
XenServer is an OS+Virtualization solution all-in-one and helps you get the most out of your machines.