We have a website developed in PHP with MySQL and sometimes facing problems when traffic increases. We have almost optimized the site in all ways to handle more requests but still facing problems at peak hours.
One of my friends suggests to rebuild the site using HBase / MongoDB as back-end to improve the performance. Also he suggests that if we rebuild it, we can easily move to cloud services. But we need to learn entire thing and redevelop it.
Is it better idea to do so?
The first thing to do is to profile your web app to determine what the bottleneck is.
If it's definitely queries to the database, then replacing mysql with mongodb might be a good idea, but document databases work in a different way to relational ones, and you might have trouble porting some types of functionality. If you do decide to try mongo, prototype early and often, because there's no garuantee it will be faster for you.
If scalability really is a problem for you, then why not jump straight into a cloud-based web architecture like google app engine. This is java or python and document database (bigtable) based, but forces you into a scalable "cloud" architecture from the very beginning.
Another option is to simply introduce (or optimise) caching (with memcache) - this will have less architectural effect on your application therefore take less effort.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With