I don’t think the problem is going to be if CodeIgniter can handle the traffic you throw at it, it’s going to be a problem to get that much traffic in the first place. I’ll show you some examples, i have some actual real life numbers from benchmarks as well 😊
Ok firstly, all the testing i’ve done is on my slicehost account. It’s a VPS that cost $20 a month. It has a recent version of Apache + MySQL + PHP installed and eAcccelerator, apart from that it’s stock standard without any modifications. I used this on all my benchmarks.
I setup a hello world example 3 times. First I created a static HTML page, second just echoed in php and thirdly created a CI view and put hello world inside to see what the base performance was. I ended up with this:
HTML: Requests per second: 2550.88
PHP: Requests per second: 1689.09
CodeIgniter: Requests per second: 356.11
As you can see using CodeIgniter is obviously far slower than plain HTML and even almost 5 times slower than base PHP.
I went ahead and benchmarked a few pages on a website I created with CodeIgniter. The slowest page managed 60 requests per second and the fastest around 120. This is a full website with a fair amount of content with 5 - 10 database lookups per page.
So let’s take that lowest number 60, we’ll cut it down a bit because I don’t think you’ll get exactly 60 visitors per second all day, it’ll go up and down, so let’s use 20 for example.
If you had 20 visitors per second * 3600 seconds per hour and 24 hours per day (20 * 3600 *24) = 1 728 000.
If you can build an application that generates 1.7 million visitors per day then I really doubt you’re going to have problems finding the $20 a month to pay for a machine quick enough to run it.
For all the benefits and security, not to mention the reduction in development time, the slowdown over regular PHP isn’t really much to worry about!
(I’m not saying they are bad products, but if you look at the code, most good programmers would start crying or jump of a cliff).
I had to hack up some of the core for a project at work. It made me sad :S