I recently had a run-in with a very popular PHP ecommerce package which makes me want to voice a recurring mistake I see in how many web applications are architected. What is that mistake? The ecommerce package I was working with depended on caching. Out of the box it couldn’t serve 10 pages/second unless I [...]
On Good Instrumentation
In so many cases troubleshooting applications I keep thinking how much more efficient things could be going if only there would be a good instrumentation available. Most of applications out there have very little code to help understand what is going on and if it is there it is frequently looking at some metrics which [...]
Beyond great cache hit ratio
I worked with application recently which has great memcached hit ratio – over 99% but yet still has average page response time over 500ms. Reason ? There are hundreds memcached gets and even though they have some 0.4ms response time they add up to add hundreds of ms to the total response time.
Percona is hiring a consultant
We’re hiring. We are looking for the following qualifications: Expert knowledge of MySQL. Not just “certified” — years of production experience with it. You need to know server internals, for example. You need to be able to do anything from optimizing difficult queries to moving high-volume services between data centers without interruption. Expert knowledge of [...]
What do we optimize with mk-query-digest ?
When we’re looking at mk-query-digest report we typically look at the Queries causing the most impact (sum of the query execution times) as well as queries having some longest samples. Why are we looking at these ? Queries with highest Impact are important because looking at these queries and optimizing them typically helps to improve [...]
Maatkit Now Supports Memcached
Have you ever wondered how optimized your Memcached installation is? There is a common misconception that one doesn’t have to think too deeply about Memcached performance, but that is not true. If your setup is inefficient, you could: Burn Memory Waste Network Round-Trips Store Keys That Never Get Retrieved Have a Low Cache Hit Ratio [...]
Goal driven performance optimization
When your goal is to optimize application performance it is very important to understand what goal do you really have. If you do not have a good understanding of the goal your performance optimization effort may well still bring its results but you may waste a lot of time before you reach same results as [...]
State of MySQL Market and will Replication live ?
There are interesting posts these day about future of MySQL Replication by Brian Frank and Arjen. I think it very interesting to take a look at a bit bigger picture using framework from Innovators Dilemma and Innovators Solution. I’m not going to speak about disruption and commoditisation of Database Market, leaving this for Market talks, [...]
MySQL: Data Storage or Data Processing
I was thinking today of how people tend to use MySQL in modern applications and it stroke me in many cases MySQL is not used to process the data, at least not on the large scale – instead it is used for data storage and light duty data retrieval. Even in this case however the [...]
MySQL Northern European Customer Conference
Yesterday I’ve attended MySQL Customers Conference in London. This event is much smaller size than Users Conference (one day and about 170 people attending) and surely less geeky – there were no one from MySQL Development Support or Consulting teams and Sales Engineers were as close as you could get. Though Anders Karlsson and Ivan [...]

