Ivor O’Connor

November 5, 2012

I need a fast, inexpensive, no hassle web server!

Filed under: Uncategorized — ioconnor @ 9:30 pm

I love http://www.justhost.com/. Their basic service is literally a magnitude faster than 1&1’s least expensive service. However http://www.justhost.com/ is not good enough for real time telephone applications. I noticed on a few calls there would be connection lags of 30 seconds or more! I was very surprised because all of my performance tests, conducted about six months ago, showed http://www.justhost.com/ to be very fast. Actually 10x faster than 1&1.

I didn’t realize at the time their service was spotty. I discovered that when I signed up for a free 30 day trial of https://www.site24x7.com/. I made a simple webpage index.html with the following in it:

<!DOCTYPE HTML>$
2 <html>$
3 <head>$
4 <meta charset=utf-8 />$
5 </head>$
6 <body>$
7 <h1>testing</h1>$
8 <p>blah</p>$
9 </body>$
10 </html>$

and pointed https://www.site24x7.com/ to check it every minute. Much to my surprise the first day had a four minute outage and countless many second lags. Unfortunately https://www.site24x7.com/ will want $15 a month after 30 days. Their graphs and such are very nice but they didn’t have exactly what I wanted which I knew I could get for free if I did it myself. So I then coded the following up:

#!/bin/bash

function timeit() {
startTime=`date +%s%N | cut -b1-13`
curl -o /tmp/iConnectivity -s -u user:pw https://myhost.com/index.html
endTime=`date +%s%N | cut -b1-13`
COUNT=`expr $endTime – $startTime`
#echo “milliseconds: “$COUNT >> ~/connection.log
#echo “milliseconds: “$COUNT
blah=`date | sed ‘s/^/UP /’`
echo $blah” (“$COUNT”ms)” >> ~/connection.log
echo $blah” (“$COUNT”ms)” >> connection.log
echo $blah” (“$COUNT”ms)”
}

function testConnectivity(){
if ping -c 1 google.com > /dev/null;then
#date | sed ‘s/^/UP /’ >> ~/connection.log
timeit
else
date | sed ‘s/^/DOWN /’ >> ~/connection.log
date | sed ‘s/^/DOWN /’ >> connection.log
fi
}

function main() {
while [ 1 ]
do
testConnectivity
sleep 60
done
}

main

Well I’ve been running the above for over a day now. Filtering out the sub second responses I get the following for yesterday:

1 UP Sat Nov 3 10:54:15 PDT 2012 (2423ms)$
2 UP Sat Nov 3 11:56:54 PDT 2012 (21091ms)$
3 UP Sat Nov 3 11:58:15 PDT 2012 (21088ms)$
4 UP Sat Nov 3 12:03:27 PDT 2012 (131131ms)$
5 UP Sat Nov 3 12:06:31 PDT 2012 (3213ms)$
6 UP Sat Nov 3 18:08:38 PDT 2012 (9858ms)$
7 UP Sat Nov 3 20:05:25 PDT 2012 (6965ms)$
8 UP Sat Nov 3 20:10:47 PDT 2012 (21153ms)$
9 UP Sat Nov 3 20:17:10 PDT 2012 (21158ms)$
10 UP Sat Nov 3 20:18:32 PDT 2012 (21156ms)$
11 UP Sat Nov 3 20:25:48 PDT 2012 (14353ms)$
12 UP Sat Nov 3 22:18:37 PDT 2012 (9311ms)$
13 UP Sat Nov 3 23:54:15 PDT 2012 (5405ms)$
14 UP Sat Nov 3 23:55:25 PDT 2012 (9043ms)$
15 UP Sun Nov 4 00:03:30 PDT 2012 (2668ms)$
16 UP Sun Nov 4 01:02:17 PST 2012 (5924ms)$
17 UP Sun Nov 4 02:38:54 PST 2012 (3284ms)$
18 UP Sun Nov 4 04:07:48 PST 2012 (3445ms)$
19 UP Sun Nov 4 04:17:57 PST 2012 (3533ms)$
20 UP Sun Nov 4 05:30:41 PST 2012 (1160ms)$
21 UP Sun Nov 4 06:50:30 PST 2012 (1118ms)$
22 UP Sun Nov 4 07:28:57 PST 2012 (2809ms)$
23 UP Sun Nov 4 07:31:05 PST 2012 (7565ms)$
24 UP Sun Nov 4 07:33:17 PST 2012 (11736ms)$
25 UP Sun Nov 4 08:00:37 PST 2012 (4201ms)$
26 UP Sun Nov 4 08:10:06 PST 2012 (23153ms)$
27 UP Sun Nov 4 08:14:11 PST 2012 (3754ms)$
28 UP Sun Nov 4 08:35:32 PST 2012 (9100ms)$
29 UP Sun Nov 4 08:56:54 PST 2012 (8952ms)$
30 UP Sun Nov 4 09:01:08 PST 2012 (11643ms)$
31 UP Sun Nov 4 09:37:33 PST 2012 (3543ms)$
32 UP Sun Nov 4 12:44:50 PST 2012 (28050ms)$

Obviously I’m not at all happy with this. I asked what could be done about this to the support team. Here was their ultimate answer:

Hello,

There are many reasons a website may be slow.

1. A huge spike in Additional Traffic.
2. A Dynamic Site without caching.
3. Extremely Large or non-optimized graphics.
4. Extremely Large or non-optimized database.
5. Large amount of external calls.
6. Server issue.

A huge spike in traffic will slow your site down if it has not been optimized. Optimization of a website doesn’t need to be overly complicated. It’s pretty easy really.

See also: https://www.justhost.com/cgi/help/000564

The following articles will help you work through many of these issues.
http://www.websiteoptimization.com/services/analyze/ (This site will analyze your pages and see if they are built to load quickly based only on content)
http://wordpress.shadowlantern.com/2009/01/reducing-cpu/ (This site deals specifically with WordPress optimization, but covers areas that will work for a vast majority of other sites/software as well)
http://thisismyurl.com/81/gain-valuable-seo-power-with-caching/ (Caching optimization)
http://code.google.com/speed/page-speed/docs/rtt.html (This site deals with changing where JavaScript gets sourced)
http://www.databasejournal.com/features/mysql/article.php/10897_1382791_1/Optimizing-MySQL-Queries-and-Indexes.htm (This site, all 4 pages, deal with database optimization)
https://www.justhost.com/cgi/help/000496 (This deals with a very simple repair/optimization on your databases)

Those should be able to help you in optimizing your sites.

You can find additional, exceptionally helpful information on load times and increasing speed in the following locations:

http://www.webpagetest.org/

http://gtmetrix.com/

http://internetsupervision.com/scripts/urlcheck/check.aspx

Thank you,
——
If needed you can also contact us by phone or live chat: http://www.justhost.com/cgi/info/contact_us

http://www.justhost.com/ simply does not want to address their problems. I have no database or programs. It’s all their network or the other hosts I am sharing the box with. Yet with enough smoke and mirrors they hope to hide. Don’t get me wrong and think I don’t like http://www.justhost.com/. I do. They offer a fantastic service. Great price. Great speed. However it’s not enough for a production environment. They will remain my favorite development site where I can test things out at. Nobody is better that I know of.

So I thought I’d go with a cloud provider like Amazon AWS. They seem like they are always in the top 10. Their elastic beanstalk seemed like a good fit. However their database options seem lacking. I want to use something simple like sqlite and their documentation left me guessing. I sent them an email but I never got a response back. Moving on…

Next I tried http://www.rackspace.com/. I talked to them over the phone and I liked what I heard. However they don’t setup a webserver. Instead they give you a box where you can pick and choose which OS and then install your own software from scratch. The guy told me this and said it wasn’t so bad because their documentation explains all step-by-step. Well their documentation does not and their online support can’t figure it out either. After putting up with multiple pieces of bad documentation I started uses the online chat and ask directly. They didn’t have the answers and after a long time with them I just had them email me their “solutions”. The next day I tried their “solutions” and got nowhere so I started google searching one step at a time. I was able to get past the problems they couldn’t but do I really want to be an admin? I really don’t want to spend lots of time figuring things out. I learn from the mistakes I make and I don’t have time for painful mistakes. I also don’t want to pay them an additional $100 a month to do the admining for me when it’s usually free elsewhere.

So does anybody have some recommendations on how to proceed or which web hosting providers would be inexpensive, fast, reliable, and scale well? I want the above index.html page returned in less than half a second always.  Well I’d like it to be on average about 150ms with a jitter of perhaps 30ms sampled at roughly once per minute. Unless there were an outage, hopefully scheduled, I’d be expecting these types of latency speeds 99.99 to 99.999999% of the time. Am I just dreaming? I notice the detailed SLAs Verizon offers do not cover this but practically speaking they are probably empirically better than what I’m looking for.  I just want a simple solution that gives me what I want!

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: