While on vacation I’ve been working on a pet-project that has been around for many years now. The service is a mobile device chat and is powered by Firebird and PHP.
There used to be lots of problems handling more than 400 simultaneous users, but after a DB upgrade to Firebird v2.5 Alpha 1 things really look different.
Previously the DB machine (Dualcore) had one of the CPU’s running at 100% and the other not doing much (FB was Superserver) but after the switch the TOTAL CPU now ranges between 10% and 50% on the DB machine. At the same time the WebServer CPU load also decreased and is constantly under 60% where it used to be over 95% all the time!
So by just switching to the new DB engine a tremendous performance gain was achieved! Also a lot less errors are reported to the PHP error logs. The ones still coming are a deadlocks, but around 30 / 24h which is a lot less than it used to be!
To the Firebird team I want to say “THANK YOU for making a great database engine” !
During my testing of the Firebird Performance I encountered a strange issue with the UPPER() command in SQL statements. Using the UPPER() command my SQL queries suddenly consumed 100% CPU from the server. All transaction times spike from 1-2 seconds to over 10 for the login operation, and the CPU on the DB machine goes to 100% flat instead of jumping between 30% and 90%… Read More »
Today I had a really interesting and strange problem with the Apache WWW server. It served images very slowly under even light loads and there was really no explanation for this. The CPU on the host machine almost idle and network throughput was nominal too.
After some digging on the internet I found other people also had had this problem, and had suggested various methods to remedy this, like enabling caching and putting images on a separate machine and disabling the KeepAlive feature. Read More »