So, I recently got published at hackaday (hello fellow hackadayers!). With this, I've received a lot of traffic compared to usual. Along with the joys of being published and people actually being interested in my project, I've found that my website handles load really well. Right now I have about 20 times more traffic than usual. Yet, my server's CPU usage has barely spiked. It did average about 1% CPU. Now it's averaging around 2.5% CPU. I'd say that's a definite success for performance. So, basically this means BarelyMVC should be capable of making very performant websites. Of course, a couple thousand views per day isn't necessarily a ton of traffic, but a 1.5% rise in CPU time for such a large increase in traffic definitely indicates that it scales well.
Well, did a tiny bit of performance tuning(including fixing a bug or two in BarelyMVC). I need to somehow hook a profiler up to my production site to figure out why performance is still so bad though because I can't reproduce it in development.
Anyway, after doing the performance tuning, we're now down to a base line "fastest speed" of about 50ms waiting times(measured by my super simple login page). This is probably Apache and mod_mono overhead.
Single page performance is now much faster though. Waiting times range from 70-90ms. Much faster than the pre-tuning speeds of 150-250ms. I think that's about as fast as I can get single pages(unless I reduce the baseline)
Index performance is now a bit better as well, but it still has quite a ways to go. Index wait times now range from 200-450ms. Better than the pre-tuning range of 350-500ms, but definitely potential to speed it up more. I suspect the main problem is how views are built in something like an index. That and apparently Mono's implementation of StringBuilder is known for performance problems. Also, there is some database optimization that can be done as well such as denormalizing the comment-count.
I guess I'll just have to hook up a profiler and see which bottle neck to fix first.