Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Baron Schwartz
Baron is the lead author of High Performance MySQL. He is a former Percona employee.

Percona welcomes Ryan Lowe and Vladimir Fedorkov

As we’ve said before, the Percona team just keeps growing. This time around, I’m pleased to welcome Ryan and Vladimir.

Ryan Lowe initially joined us from Florida (USA) in June. In his …a consultant, DBA (with Oracle, too!), DBA manager, and programmer makes him a great match for Percona‘s clients. He also contributed some improvements to Wordpress, and he blogs here and on Pablowe.

…and Ryan, a big welcome — we are fortunate indeed you’re working with us. And… go team!

PS: I can’t help but triple-dip, and point out that our own Ewen Fortune has …

How Percona Develops Open-Source Software

Percona has been building and contributing to open-source software since the company was founded, and individually we’ve been doing the same thing for many years.  We think it’s a huge value for our customers and the community. We’re involved in a dozen or so open-source projects, but our three core efforts at the moment are […]

High-Performance Click Analysis with MySQL

We have a lot of customers who do click analysis, site analytics, search engine marketing, online advertising, user behavior analysis, and many similar types of work.  The first thing these have in common is that they’re generally some kind of loggable event. The next characteristic of a lot of these systems (real or planned) is […]

Memcached Status

There are all sorts of different interfaces to memcached, but you don’t need any of them to make requests from the command line, because its protocol is so simple. Try this, assuming it’s running on the usual port on the local machine:

How Percona does a MySQL Performance Audit

Our customers or prospective customers often ask us how we do a performance audit (it’s our most popular service). I thought I should write a blog post that will both answer their question, so I can just reply “read all about it at this URL” and share our methodology with readers a little bit. This […]

How to Calculate a Good InnoDB log file size

Peter wrote a post a while ago about choosing a good InnoDB log file size. Not to pick on Peter, but the post actually kind of talks about a lot of things and then doesn’t tell you how to choose a good log file size! So I thought I’d clarify it a little. The basic […]

How expensive is a WHERE clause in MySQL?

This is a fun question I’ve been wanting to test for some time.  How much overhead does a trivial WHERE clause add to a MySQL query?  To find out, I set my InnoDB buffer pool to 256MB and created a table that’s large enough to test, but small enough to fit wholly in memory:

Percona’s patches spread to a wider audience

Percona’s patches are now available to a wider audience via OurDelta, a community effort to provide  builds with features (Percona patches, Google patches, etc) and storage engines (PBXT, Sphinx, etc) that aren’t in the main MySQL server. Arjen Lentz is really the brainchild behind this. Kudos Arjen! What does this mean for the Percona patches? […]

Percona welcomes Ewen Fortune and Piotr Biel

Although we haven’t announced any new members in a while, the Percona team has continued to grow steadily behind the scenes. Our hiring policy is to have a few months’ provisional period to ensure the…, of course. Ewen has been a consultant and contractor before joining Percona, and has many years of experience in Oracle, MySQL, Unix systems ….

Piotr Biel lives in Poland, quite close to our other Polish team member (Maciek Dobrzanski). In his past as a system architect he … can do!

Ewen and Piotr, a very warm welcome to the Percona team from all of us, and we are so glad to …

Four ways to optimize paginated displays

A paginated display is one of the top optimization scenarios we see in the real world. Search results pages, leaderboards, and most-popular lists are good examples. You know the design pattern: display 20 results in some most-relevant order. Show a “next” and “previous” link. And usually, show how many items are in the whole list […]

A common problem when optimizing COUNT()

When optimizing queries for customers, the first thing I do with a slow query is figure out what it’s trying to do. You can’t fully optimize a query unless you know how to consider alternative ways to write it, and you can’t do that unless you know what the query “means.” I frequently run into […]

How to track down the source of Aborted_connects

Yesterday I helped someone who was seeing a lot of “server has gone away” error messages on his website. While investigating this problem, I noticed several things amiss, which appeared to be related but really weren’t. The biggest measurable sign was

The ultimate tool for generating optimal my.cnf files for MySQL

There are quite a few “tuning primers” and “my.cnf generators” and “sample my.cnf files” online. The ultimate tool for generating an optimal my.cnf is not a tool. It’s a human with many years of experience, deep knowledge of MySQL and the full application stack, and familiarity with your application and your data. I don’t know […]

To find the bottleneck, stop guessing and start measuring

We recently examined a customer’s system to try to speed up an ETL (Extraction, Transformation and Loading) process for a big data set into a sort of datamart or DW.  What we typically do is ask customers to run the process in question, and then examine what’s happening.  In this case, the (very large, powerful) […]

Quick tip: how to convert tables to InnoDB

I use Maatkit for a lot of grunt work and thought you might appreciate this quick tip. Suppose you have a bazillion tables to convert from MyISAM to InnoDB, but they are mixed in with other tables that are already InnoDB, or are another storage engine that you don’t want to touch.

Here’s a […]

The #1 mistake hosting providers make for MySQL servers

This article is not meant to malign hosting providers, but I want to point out something you should be aware of if you’re getting someone else to build and host your servers for you. Most hosting providers — even the big names — continue to install 32-bit GNU/Linux operating systems on 64-bit hardware. This is […]

Daniel Nichter and Percona join forces on Maatkit

Daniel Nichter, the author of several very useful MySQL tools, has joined with Percona to continue to improve Maatkit — the “other” toolkit we rely on daily. Daniel is a skilled Perl programmer who understands MySQL. He is in a perfect position to move the project forward on a more regular basis than I’ve been […]

How to Outrun the Lions

I just posted slides from a talk I gave at a Facebook application developer conference in Las Vegas this weekend. The talk is titled Outrun the Lions. Our customers run several of the top 10 applications on Facebook right now (as measured by the number of active users), and I revealed the secrets to building […]