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

Peter Zaitsev
Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

Speaking on MySQL/PHP Meetup in Charlotte, NC

I’m speaking at MySQL/PHP Meetup at Charlotte,NC next week with topic being Scaling MySQL Applications. We will have a presentation probably for about an hour and the good amount of time for questions. So come prepared. Great thanks to Red Ventures, LLC for help organizing and sponsoring this event. I’m hearing there are going to […]

MySQL Partitioning for Performance Optimization

I wanted for a while to write about using MySQL Partitioning for Performance Optimization and I just got a relevant customer case to illustrate it. First, you need to understand how partitions work internally. Partitions are on the low level are separate table. This means when you’re doing lookup by partitioned key you will look […]

How well does your table fits in innodb buffer pool ?

Understanding how well your tables and indexes fit to buffer pool are often very helpful to understand why some queries are IO bound and others not – it may be because the tables and indexes they are accessing are not in cache, for example being washed away by other queries. MySQL Server does not provide […]

Using MySQL OPTIMIZE tables for InnoDB? Stop!

Innodb/XtraDB tables do benefit from being reorganized often. You can get data physically laid out in primary key order as well as get a better feel for the primary key and index pages, and so use less space, it’s just that MySQL OPTIMIZE TABLE might not be the best way to do it. Why you […]

Getting History of Table Sizes in MySQL

One data point which is very helpful but surprisingly few people have is the history of the table sizes. Projection of data growth is very important component for capacity planning and simply watching the growth of space used on partition is not very helpful. Now as MySQL 5.0+ has information schema collecting and keeping this […]

Doing Re-run of Migrating MyISAM to Innodb Webinar

We had some technical difficulties with Webex today which prevented from all registered attendees to be able to join webinar. I personally would be very upset having booked my time to attend event, pre-registered to ensure there is a space available and when unable to join at the time of event (which is frankly exactly […]

Moving from MyISAM to Innodb or XtraDB. Basics

I do not know if it is because we’re hosting a free webinar on migrating MyISAM to Innodb or some other reason but recently I see a lot of questions about migration from MyISAM to Innodb. Webinar will cover the process in a lot more details though I would like to go over basics in […]

Replication of MEMORY (HEAP) Tables

Some Applications need to store some transient data which is frequently regenerated and MEMORY table look like a very good match for this sort of tasks. Unfortunately this will bite when you will be looking to add Replication to your environment as MEMORY tables do not play well with replication.

The story of one MySQL Upgrade

I recently worked on upgrading MySQL from one of very early MySQL 5.0 versions to Percona Server 5.1. This was a classical upgrade scenario which can cause surprises. Master and few slaves need to be upgraded. It is a shared database used by tons of applications written by many people over more than 5 years […]

Talks in Moscow, Minsk, Samara

I have my schedule pretty busy during a trip to Russia this year. In addition to giving a master class and Sphinx Conference I’m going to speak at HighLoad++. I’ll also have a user meeting presentations in Samara on October 17 and Minsk on October 22 This looks like it is going to be a […]

More on dangers of the caches

I wrote couple of weeks ago on dangers of bad cache design. Today I’ve been troubleshooting the production down case which had fair amount of issues related to how cache was used. The deal was as following. The update to the codebase was performed and it caused performance issues, so it was rolled back but […]

Cache Miss Storm

I worked on the problem recently which showed itself as rather low MySQL load (probably 5% CPU usage and close to zero IO) would spike to have hundreds instances of threads running at the same time, causing intense utilization spike and server very unresponsive for anywhere from half a minute to ten minutes until everything […]

First Sphinx Conference is Announced

The First ever Sphinx Users Conference is announced to take place in Moscow, Russia on October 24th, which is the Sunday before Highload.ru conference, so if you’re attending that you may just drop by to this event too. this is going to be free technically focused event, close in spirit to Percona Performance Conference, we […]

How long Innodb Shutdown may take

How long it may take MySQL with Innodb tables to shut down ? It can be quite a while. In default configuration innodb_fast_shutdown=ON the main job Innodb has to do to complete shutdown is flushing dirty buffers. The number of dirty buffers in the buffer pool varies depending on innodb_max_dirty_pages_pct as well as workload and […]

Storing MySQL Binary logs on NFS Volume

There is a lot of discussions whenever running MySQL storing data on NFS is a good idea. There is a lot of things for and against this and this post is not about them. The fact is number of people run their databases on NetApp and other forms of NFS storage and this post is […]

Estimating Replication Capacity

It is easy for MySQL replication to become bottleneck when Master server is not seriously loaded and the more cores and hard drives the get the larger the difference becomes, as long as replication remains single thread process. At the same time it is a lot easier to optimize your system when your replication runs […]

Scaling: Consider both Size and Load

So lets imagine you have the server handling 100.000 user accounts. You can see the CPU,IO and Network usage is below 10% of capacity – does it mean you can count on server being able to handle 1.000.000 of accounts ? Not really, and there are few reasons why, I’ll name most important of them: […]

Percona at OSCON 2010

This year we’re participating in OSCON as a Sponsor and organizing some BOFs. I will be on the conference 21 and 22 if you’re interested to chat. Here is the list of currently scheduled BOFs which I’ll be hosting: Running Databases on Flash Storage Sphinx Search 2010 XtraDB, XtraBackup, Maatkit, Percona Server See you there.