Deciding on a framework…

I’ve been ummm’ing and ahhh’ing about what framework to use for my IsRaiding site. I’ve decided to go with DooPHP. I’m having some trouble with the view rendering, ->render doesnt seem to want to work for me however ->renderc works fine.

I just realised that all my original templates that I purchased were all Wrath of the Lich King colours so I’m busy in Photoshop changing the colour schemes for Cataclysm. I’m also trying to decide on a set of fonts for my site. I’m thinking Serif headings with a sans body. Decisions, decisions…

Load testing with Siege – Part II

edit: One thing to note is both of these tests are testing wordpress more than anything. I’ve since run tests just using <?php echo phpinfo();  ?> which did 24 million page views with 0 failures.

I set siege up last night to run for 6 hours although it appears that it was shutdown after 19 mins. I suspect its my own poor configuration of Siege that caused the problem but it still had some interesting stats. I pumped up the concurrency to 280 which I think is about the limit for my Siege box due to memory issues.

Here is the report…
Transactions:                  105786 hits
Availability:                  99.03 %
Elapsed time:                1165.26 secs
Data transferred:             223.68 MB
Response time:                  2.55 secs
Transaction rate:              90.78 trans/sec
Throughput:                     0.19 MB/sec
Concurrency:                  231.35
Successful transactions:      106299
Failed transactions:            1031
Longest transaction:           26.49
Shortest transaction:           0.35

Unfortunately at this level I’m getting a full 1% of failures however this is pushing the hardware to 7.6 million page views per day.

One thing to note is that my setup is currently “out of the box”, I haven’t used any special configuration or caching (outside of APC). When I get a chance I’ll configure Nginx properly and do some more testing.

Load testing with Siege

I’ve been running load tests against my hardware to see how it copes. Here we go….

Transactions: 87830 hits
Availability: 99.72 %
Elapsed time: 899.33 secs
Data transferred: 157.22 MB
Response time: 2.05 secs
Transaction rate: 97.66 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 200.31
Successful transactions:88089
Failed transactions: 245
Longest transaction: 24.29
Shortest transaction: 0.34

Based on that I should be able to serve around 8.6 million page views a day off a $40US per month hosting setup. If that isn’t value for money I’m not sure what is. I’m going to run siege overnight while I sleep and see how my servers survive 6 hours solid. I’ll give a breakdown on the stats for my servers tomorrow.

Google Webmaster Tools – Site Performance

I’m itching to see what Google has to say about this blogs performance. I love playing around with the toys that Google offer us as web developers. I have friends who shun Google for various reasons – when you look at what Google gives back to people wanting to work with them its amazing. They have so many free brilliant tools including their own web browser Chrome.

My hosting still seems pretty stable and is ticking along nicely but its still early days. Haven’t seen any freaky graphs yet, everything is flat lining which is good. Hurry up and index my pages already so I can see the results!

Nginx, PHP 5.3, PHP-FPM and APC – Serious Speed

I’ve just got my hosting environment up and running after a recent rebuild. I spent a few nights working on getting PHP compiled correctly with all the modules I require but I’m pretty happy with it now. At this stage I’m using default settings for most things because I simply haven’t had time to “play”.

As of PHP 5.3.3, PHP-FPM is now added into PHP. To switch it on you simply need to compile PHP with the –enable-fpm flag set. You’ll need to setup the php-fpm.conf file for your environment, I went with a static setup rather than dynamic number of php-fpm processes. Make sure that you have libevent-1.4.11 or later before trying to compile PHP with PHP-FPM switched on.

Whats next – next is finding some time to spend tweaking and load testing my setup. I know of a few projects at the moment requiring extremely high performance infrastructure so this is my testing ground. If my blog is ever down – dont stress – it’ll be back soon. With testing comes breaking so if I drop off the internet for a day you’ll know why.