Archive for the ‘announce’ Category

Percona Server 5.1.51-rel11.5

Октябрь 28th, 2010

Percona Community,

Percona Server version 5.1.51-rel11.5 is now available for download.

The main purpose of this release is to update the current Percona stable release to the latest version of MySQL 5.1.

Functionality Added or Changed

  •  Percona Server 5.1.51-rel11.5 is now based on MySQL 5.1.51.
  •  New Features Added: None
  •  Other Changes: None

Bugs Fixed

  •  Bug #661354 – Fixed a problem compiling query_cach_with comments for 5.1.51-rel11.5. (Oleg Tsarev)
  •  Bug #661844 – Fixed a problem with server variables failing test for 5.1.51-rel11.5. (Oleg Tsarev)

The Release Notes for this and previous releases can be found in our Wiki

The binary packages are available on our website.
The latest source code for Percona Server, including the development branch, can be found on LaunchPAD.

Please report any bugs found at Bugs in Percona Server.
For general questions, use our Pecona-discussions group, and for development questions our Percona-dev group.
For support, commercial, and sponsorship inquiries, contact Percona.


Entry posted by Fred Linhoss | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Server with XtraDB Case Study, Behind the Scenes

Октябрь 22nd, 2010

We’ve published our first case study. The customer, ideeli, had a database that was struggling on standard MySQL and InnoDB. The big win was the upgrade to XtraDB. The business continued to grow quickly, and months later under much more traffic, the database is still outperforming their previous version.

I thought I’d write a few notes that didn’t seem appropriate to include in the case study, because this was a fun project that might be interesting to readers.

As usual, it was all about diagnosing the problem correctly. I used a variety of tools to help with this, foremost among them “stalk” and “collect” from Aspersa. There were several problems, not just one, and they required different techniques to diagnose. This can be hard when the problems are happening sporadically and/or mixed together. You really need to be disciplined and collect data, data, data. If you are not sure about the cause of something, you don’t have the right data. Maybe you have too little, or too much, or you have the signal mixed in with the noise. Knowing when and how to get and interpret good diagnostic data is easily 95% or 98% of the work in a case like this. All I had to do was wait until the problem happened, look at the diagnostics, and a couple minutes later I had my answer.

What were the problems? The query cache was causing both mutex contention and excessive CPU usage, for different reasons, and I found different problems in different samples. InnoDB was also dying under mutex contention. Each spike of slow queries I found was caused by different things. Sometimes GDB stack traces showed InnoDB mutex contention, sometimes oprofile showed the query cache hogging the CPU, and so on. So we had to solve all the problems, not just some of them.

The graphs of query traffic and response times were from data I gathered with tcprstat. I also used the data from tcprstat to analyze the variation in query response time. One-second intervals is a relatively fine granularity, but at that level you can see better when micro-freezes are occurring. I used ad-hoc slow-query-log analysis with awk and other tools to discover and investigate unusual patterns, and figure out whether queries were causes or victims of performance problems. The problems here were not caused by queries, but query behavior was the symptom that we could observe, so all of the above analysis was useful for detecting the problem as it happened, and verifying that it was not still happening after we implemented fixes.

New Relic was a very helpful tool in this case, too. If you don’t use New Relic, you might try it. (We don’t get paid to say that.) Their tools are really nice.

I also want to mention that this database’s problems were entirely inside the database software itself. The ideeli team had already done a great job with indexing, query optimization, and so forth. Nothing more could be done without fixing these problems inside MySQL and InnoDB at the source code level, or changing the application architecture.

All things considered, the database server’s performance is not as high as many I’ve worked on, so the absolute numbers of queries per second may not look impressive. However, remember that this database is running on an EC2 server. EC2 has relatively slow virtual CPUs, and given that and the workload this server is under, it does very well. Of course you could far exceed that performance on a “real” server.

This case illustrates why average-case performance isn’t a good metric. As Peter says, “the average temperature of patients in the hospital isn’t important.” Good performance means avoiding outliers and variations. The query performance needs to be a) fast, and b) fast all the time, and c) the same kind of fast all the time. Variations in performance at one layer introduce cascading variations at each higher layer. Rarely is a stuttering component’s misbehavior absorbed by other layers. Instead, every layer above it gets into trouble.

That, among other things, is why the database has a much harder job than people sometimes realize, and why it’s so hard to write a good database server.


Entry posted by Baron Schwartz | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Server 5.1.50-rel12.1

Октябрь 14th, 2010

Dear Community,

Percona Server version 5.1.50-rel12.1 RC is now available for download.

Functionality Added or Changed

  • Percona Server 5.1.50-rel12.1 is now based on MySQL 5.1.50.
  • New Features Added:
    • innodb_lru_dump_restore – Implemented automatic dumping of the buffer pool at specified intervals.
    • innodb_buffer_pool_shm – Implemented option ”innodb_buffer_pool_shm_checksum”; when enabled, shared memory buffer pool is checksum validated. This change also fixed these bugs: #643724, #649408, and #649393. (Yasufumi Kinoshita)
    • innodb_expand_import – Implemented more exact checking to avoid corruption of the ”.ibd” file using ”innodb_expand_export”. (Yasufumi Kinoshita)
    • remove_eol_carret – Implemented a MySQL client option to handle end-of-line in BLOB fields differently. This change also fixed bug #625066. (Sasha Pachev)
    • response_time_distribution – Counts queries with very short execution times and groups them by time interval. (Oleg Tsarev)

Bugs Fixed

  • Bug #608992 – Added symbolic info to Percona Server binary to help in debugging. (Aleksandr Kuzminsky)
  • Bug #624362 – Corrected wording in an InnoDB error message regarding too many locks printed. (Vadim Tkachenko)
  • Bug #625066 – Fixed a problem handling end-of-line in BLOB fields in the MySQL client. (Sasha Pachev)
  • Bug #640924 – Fixed a crash caused by innodb_doublewrite_file. (Yasufumi Kinoshita)
  • Bug #643650 – Speeded up InnoDB shutdown when using shared memory buffer pool. (Yasufumi Kinoshita)
  • Bug #643724 – Fixed an InnoDB crash when shared memory buffer pool was enabled. (Yasufumi Kinoshita)
  • Bug #649408 – Fixed a problem causing a crash on startup when using shared memory buffer pool. (Yasufumi Kinoshita)
  • Bug #649393 – InnoDB now recreates the shared memory segment for the buffer pool automatically after a crash. (Yasufumi Kinoshita)
  • Bug #649623 – Fixed an error when compiling Percona Server 5.1.50-rel12.1 on FreeBSD (Oleg Tsarev)
  • Bug #650977 – Fixed failed tests. (Oleg Tsarev)

The binary packages are available on our website.
The Release Notes for this and previous releases can be found in our Wiki.

The latest source code for Percona Server, including the development branch, can be found on LaunchPAD.

Please report any bugs found at Bugs in Percona Server.
For general questions, use our Pecona-discussions group, and for development questions our Percona-dev group.

For support, commercial, and sponsorship inquiries, contact Percona.


Entry posted by Fred Linhoss | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona White Paper: Architecting SaaS Applications with XtraDB

Октябрь 12th, 2010

Vadim and I have just published a new technical white paper. It shows how Percona Server with XtraDB can make large-scale multi-tenant databases easier to build with MySQL. Our experiences working with SaaS and shared-hosting companies influenced the features we included in Percona Server and XtraDB, and I think this is the best explanation of what levers are available and how to use them.

Percona Server with XtraDB for Software-as-a-Service Application Databases is posted on the white-paper section of our website. No registration is required; it is just a PDF, freely downloadable with no marketing follow-up. Many thanks to Mark Callaghan and Dimitri Kravtchuk, who reviewed and gave valuable suggestions that made the white paper better.


Entry posted by Baron Schwartz | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona at WebConf Riga 2010

Октябрь 6th, 2010

WebConf LogoMy colleague Aleksandr Kuzminsky will be speaking at WebConf Riga 2010 next month on XtraBackup: Hot Backups and More and Recovery of Lost or Corrupted InnoDB Tables.

WebConf is the first big conference of its kind in the Baltic states (Estonia, Latvia, Lithuania) and we are very happy to be participating.

In addition to Aleksandr’s talks, we will also be offering our training courses. You can find out more from the conference website (they will be publishing more information in the next two days).


Entry posted by Morgan Tocker | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Launches New Support Option for MySQL

Октябрь 5th, 2010

We’ve just announced a new support offering for MySQL. There’s a press release here, and product information page here. But what does this new service really mean for you, in practical terms? This is actually important — it will open up a range of new choices for you. I’ll explain two major points that matter to you.

Before I begin, I want to make it clear that in some ways, what we’re offering is something we’ve always offered. That is actually why it took us a while to re-align the product a bit. We thought we were serving you fully. You told us that wasn’t really true. Thank you. We’ve listened.

1. Sensible Pricing

We’ve always offered pay-as-you-go support, and we’ve had a dedicated support staff for a while. The missing ingredient was flat-rate pricing. Big companies don’t like pay-as-you-go support for several reasons. It’s hard to budget, for one thing. Also, we blended support and consulting, so you paid our consulting rate for support, when you wanted a more focused offering at a lower price. Our new support offering is less expensive than our pay-as-you-go consulting.

We still don’t believe in traditional support pricing models, which are great for the support provider, but end up being a very expensive insurance policy for the customer. Our pricing is significantly different from the industry standards of per-server, per-CPU, or per-incident. None of these makes sense. They lead to needless arguments such as “what is a CUP?” Believe it or not, that turns out to be ambiguous; the same is true of “what is an incident?” Even “what is a server?” is a point of leverage for a salesperson (virtual machines, replication slaves?). This creates a guaranteed tension between the customer and the provider. We wanted to keep things simple and clear, and match the cost and the value as closely as possible. Our pricing is simple: it covers an unlimited number of servers and CPUs.

Finally, we want to upset the apple cart a little bit. Oracle is doing a great job improving MySQL, but our customers are telling us they still want alternatives. They are uncertain about the future. There are fears of price increases and narrowing of options. People want to know what’s going to happen and how much it’s going to cost them. We enjoy giving customers choice and freedom. Even if they don’t choose us, we think that merely offering a competitive option, especially one with pricing that isn’t dependent on the size of the deployment, makes the world a better place.

2. Focused on Support

This new service is about support for the MySQL database and the popular variants of it. Not the LAMP stack, not the variety of other software for which we have offered top-notch consulting since 2006. Just MySQL, MariaDB, Percona Server with XtraDB, and Percona XtraBackup. Focusing makes it easier for us to do a good job for you.

Why the addition of a focused service on top of our anything-you-need service? Our no-boundaries model was meant to ensure that we never ended up with a wall of “not my responsibility” between support and consulting. The result was that all issues you submitted to us went into one pool, one queue. This works great to keep everyone accountable and connected to customers, but it sometimes makes it hard to give good response time when needed. Our new system differentiates between support and consulting tickets. We have people literally at the phone and at the keyboard 24×7 triaging and handling tickets. We’ve had this in place for over a year, and it’s working great.

The quote from 37signals in our press release says it best. When 37signals called for help, about half the
company was offsite in Montreal for a meeting. Even at that hectic time, they got us on the phone right away. The call was triaged and routed to a world-famous expert in MySQL. I am proud that you can call Percona for help and get someone like that on the phone in minutes. We intend to keep this up (by the way, we’re hiring).

Summary

We think that this new offering is a significant step forward for the entire community. MySQL users need better choices. They need immediate access to deep expertise, 24×7, worldwide, with emergency support when necessary. They need smooth escalation to a consulting and development team when the issue turns out to be deeper than expected. They need a single source for services — not someone who’s reselling services from sub-contractors, not cherry-picking from multiple vendors. They need the backing of a well-established independent company with a solid reputation for expertise and customer service. And they need it at a price that makes sense. There is a vacuum in the market for MySQL support, and we want to help serve that need.


Entry posted by Baron Schwartz | One comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Launches New Support Option for MySQL

Октябрь 5th, 2010

We’ve just announced a new support offering for MySQL. There’s a press release here, and product information page here. But what does this new service really mean for you, in practical terms? This is actually important — it will open up a range of new choices for you. I’ll explain two major points that matter to you.

Before I begin, I want to make it clear that in some ways, what we’re offering is something we’ve always offered. That is actually why it took us a while to re-align the product a bit. We thought we were serving you fully. You told us that wasn’t really true. Thank you. We’ve listened.

1. Sensible Pricing

We’ve always offered pay-as-you-go support, and we’ve had a dedicated support staff for a while. The missing ingredient was flat-rate pricing. Big companies don’t like pay-as-you-go support for several reasons. It’s hard to budget, for one thing. Also, we blended support and consulting, so you paid our consulting rate for support, when you wanted a more focused offering at a lower price. Our new support offering is less expensive than our pay-as-you-go consulting.

We still don’t believe in traditional support pricing models, which are great for the support provider, but end up being a very expensive insurance policy for the customer. Our pricing is significantly different from the industry standards of per-server, per-CPU, or per-incident. None of these makes sense. They lead to needless arguments such as “what is a CUP?” Believe it or not, that turns out to be ambiguous; the same is true of “what is an incident?” Even “what is a server?” is a point of leverage for a salesperson (virtual machines, replication slaves?). This creates a guaranteed tension between the customer and the provider. We wanted to keep things simple and clear, and match the cost and the value as closely as possible. Our pricing is simple: it covers an unlimited number of servers and CPUs.

Finally, we want to upset the apple cart a little bit. Oracle is doing a great job improving MySQL, but our customers are telling us they still want alternatives. They are uncertain about the future. There are fears of price increases and narrowing of options. People want to know what’s going to happen and how much it’s going to cost them. We enjoy giving customers choice and freedom. Even if they don’t choose us, we think that merely offering a competitive option, especially one with pricing that isn’t dependent on the size of the deployment, makes the world a better place.

2. Focused on Support

This new service is about support for the MySQL database and the popular variants of it. Not the LAMP stack, not the variety of other software for which we have offered top-notch consulting since 2006. Just MySQL, MariaDB, Percona Server with XtraDB, and Percona XtraBackup. Focusing makes it easier for us to do a good job for you.

Why the addition of a focused service on top of our anything-you-need service? Our no-boundaries model was meant to ensure that we never ended up with a wall of “not my responsibility” between support and consulting. The result was that all issues you submitted to us went into one pool, one queue. This works great to keep everyone accountable and connected to customers, but it sometimes makes it hard to give good response time when needed. Our new system differentiates between support and consulting tickets. We have people literally at the phone and at the keyboard 24×7 triaging and handling tickets. We’ve had this in place for over a year, and it’s working great.

The quote from 37signals in our press release says it best. When 37signals called for help, about half the
company was offsite in Montreal for a meeting. Even at that hectic time, they got us on the phone right away. The call was triaged and routed to a world-famous expert in MySQL. I am proud that you can call Percona for help and get someone like that on the phone in minutes. We intend to keep this up (by the way, we’re hiring).

Summary

We think that this new offering is a significant step forward for the entire community. MySQL users need better choices. They need immediate access to deep expertise, 24×7, worldwide, with emergency support when necessary. They need smooth escalation to a consulting and development team when the issue turns out to be deeper than expected. They need a single source for services — not someone who’s reselling services from sub-contractors, not cherry-picking from multiple vendors. They need the backing of a well-established independent company with a solid reputation for expertise and customer service. And they need it at a price that makes sense. There is a vacuum in the market for MySQL support, and we want to help serve that need.


Entry posted by Baron Schwartz | One comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Server 5.1.50-rel11.4

Сентябрь 28th, 2010

Dear Community,

Percona Server version 5.1.50-rel11.4 is now available for download.

The changes in this release include:

New features

The primary purpose of this release is to update to the latest version of MySQL 5.1.

  • Percona Server 5.1.50-rel11.4 is now based on MySQL 5.1.50.

Fixed bugs

The binary packages are available on our website.

Percona Server can be installed from either our RPM or Debian repository.
It is worth mentioning that Percona Server doesn’t obsolete MySQL packages, so, if you’re migrating from MySQL to Percona Server, you have to remove your MySQL packages and then install Percona Server. To keep applications which depend on MySQL during migration, you need to install the Percona-Server-shared-compat package.

The latest source code for Percona Server, including the development branch, can be found on LaunchPAD.

Please report any bugs found at Bugs in Percona Server.
For general questions, use our Pecona-discussions group, and for development questions our Percona-dev group.

For support, commercial, and sponsorship inquiries, contact Percona.


Entry posted by Aleksandr Kuzminsky | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Percona Server 5.1.49-rel12.0

Сентябрь 15th, 2010

Dear Community,

Starting this release we introduce new release model of Percona Server. We will have Stable and Release Candidate releases. Release Candidates introduce new features not available in stable releases.

Our new 5.1.49-12.0 RC along with new features contains couple patches from Facebook-MySQL tree https://launchpad.net/mysqlatfacebook , especially worth to note
better integration with FlashCache.

We also introduce the very interesting new feature (sponsored by Well Known Social Network site) “Permanent InnoDB Buffer Pool” which allows to keep InnoDB buffer pool in memory between restarts of MySQL servers.
It allows to significantly increase warmup time after MySQL restarts.

Starting this release we also provide special builds optimized for Cisco UCS B250/C250 servers, which comes with a lot of
memory ( up to 384GB ) and “Permanent InnoDB Buffer Pool” is especially interesting for servers with 128GB+ memory sizes, as it may take hours to warm empty InnoDB buffer pool on these boxes.

Percona Server version 5.1.49-rel12.0 RC is available for download now.

The changes in this release include:

New features

  • Percona Server 5.1.49-rel12.0 is based on MySQL 5.1.49.
  • New features added:
    • error_pad – Implements error code incompatibilities with MySQL 5.5. (Oleg Tsarev)
    • query_cache_totally_disable – Allows the user to disable use of the query cache. (Oleg Tsarev)
    • show_engines – Changes SHOW STORAGE ENGINES to report XtraDB when appropriate. (Oleg Tsarev)
    • remove_fcntl_excessive_calls – Removes excessive fcntl calls. (Oleg Tsarev)
    • sql_no_fcache – Prevents blocks of data from being cached to FlashCache during a query. (Oleg Tsarev)
    • status_wait_query_cache_mutex – Provides a new thread state – “Waiting on query cache mutex”. (Oleg Tsarev)
    • log_connection_error – Issues the warning “Too many connection” if log_warnings is enabled. (Oleg Tsarev)
    • innodb_buffer_pool_shm_key – Allows storing the buffer pool in a shared memory segment between restarts of the server. (Yasufumi Kinoshita)
    • Option syslog was added to the mysql client. If enabled, all commands run on the server are logged to syslog. (Oleg Tsarev)
  • New variables introduced:

Fixed bugs

  • Bug #576041 – Fixes long stalls while accessing the innodb_buffer_pool_pages_index table on systems with a large number of tables.
  • Bug #592007 – More strictly enforces the maximum purge delay defined by innodb_max_purge_lag by removing the requirement that purge operations be delayed if an old consistent read view exists that could see the rows to be purged.
  • Bug #607449 – Fixes a crash during shutdown when userstat_running=1.
  • Bug #612954 – Fixes a problem with SHOW PROCESSLIST displaying an incorrect time.
  • Bug #610525 – Reduces the number of compile time errors when the server is rebuilt.
  • Bug #569275 – Fixes a crash when XtraDB shuts down in “crash resistent mode”.
  • Bug #589484 – Adds reporting of the query cache mutex status in SHOW PROCESSLIST.
  • Bug #606965 – Allows preventing data caching to flash storage during a query.
  • Bug #606810 – Ports a fix from to remove excessive fcntl calls.
  • Bug #609027 – Allows query cache use to be completely disabled
  • Bug #600352 – Fixes SHOW STORAGE ENGINES to correctly report “Percona-XtraDB” rather than “InnoDB”

The binary packages are available on our website.
The Release Notes to this and previous releases can be found in our Wiki.

The latest source code of Percona Server, including development branch you can find on LaunchPAD.

Please report any bugs found on Bugs in Percona Server.
For general questions use our Pecona-discussions group, and for development question Percona-dev group.

For support, commercial and sponsorship inquiries contact Percona


Entry posted by Aleksandr Kuzminsky | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN

Announcing Training for Operations Teams

Август 19th, 2010

We’re opening up registration for our new training courses today.  In short: we are moving from two days to a new four-day format.  The new additions are created by:

  • Splitting our current InnoDB day in half. We now have one day for DBAs, and one day just on InnoDB topics.
  • A new Operations Day – covering how to maintain MySQL in production.

Our developer course has also undergone revision, and we now have more query tuning examples, and a new instrumentation chapter.

What is operations training?

Many companies split their technical staff between development, and operations.  The operations team is responsible for tasks such as capacity planning, backup/disaster recovery, and carrying a pager. They are the heroes that fight fires.

Our operations day of training is delivered as a hands on class.  Attendees will be divided into teams, and given a series of challenges to complete on EC2 machines.  As part of the development of this course we wrote a sample LAMP application, embedded with minor flaws which students will need to fix while they try and keep the application up.

Where can you attend?

We’re starting off by branding the operations day as a ‘BETA’.  You can attend for only $100 at San Francisco Thursday, 30 Sep 2010, New York Thursday, 14 Oct 2010 or Vancouver Thursday, 21 Oct 2010. There is also a discount of attending all four days for $1,450 if you book before 30 August.

After our initial BETA, the courses will be available in more USA and international locations. A partial list is already available on the training section of our website. We will confirm more cities in the coming weeks.


Entry posted by Morgan Tocker | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks


PlanetMySQL Voting: Vote UP / Vote DOWN