Planet MySQL Planet MySQL: Meta Deutsch Español Français Italiano 日本語 Русский Português 中文
10 Newer Entries Showing entries 61 to 70 of 33318 10 Older Entries
Low-concurrency performance for updates and the Heap engine: MySQL 5.7 vs previous releases
+0 Vote Up -0Vote Down
The low-concurrency performance regression evaluation continues after evaluating range queries. This post covers updates with the Heap engine. The Heap engine is used as the base case and the next post has results for InnoDB. The database has 64,000 rows but all updates were for the same row. Tests were done for updates to an indexed and then an unindexed column at 1, 4 and 32 threads. Tests were also repeated with the binlog disabled and then enabled. There are regressions at 1, 4 and 32 threads. The summary is:
  • Response time at 1 thread for 5.7.5 is between 1.55X and 1.67X worse than 5.0.85 
  • Response time at 32 threads for 5.7.5 is between 1.19X and 1.49X worse than 5.0.85 
  • In all cases it is worse in 5.7 than in

  [Read more...]
Database Automation - Private DBaaS for MySQL, MariaDB and MongoDB with ClusterControl
+0 Vote Up -0Vote Down
October 9, 2014 By Severalnines

Installing, configuring, deploying databases and performing repetitive administrative tasks are all part of a DBA’s or sysadmin’s job. This can get pretty repetitive and overwhelming if you are part of a centralized IT team, running multiple databases for your organization’s different departments, or a managed hosting provider responsible for setting up and operating databases for external clients. One way to get out of this ‘manual, repetitive task’ business is through a Database as a Service (DBaaS).

DBaaS is a way of delivering database functionality as a service to one or more consumers. A DBaaS platform would provide automated procedures for database deployment, monitoring,

  [Read more...]
Removing Scalability Bottlenecks in the Metadata Locking and THR_LOCK Subsystems in MySQL 5.7
Employee_Team +1 Vote Up -0Vote Down

The MySQL Server 5.7.5 Development Milestone Release, which was published recently, contains some significant changes to the metadata locking (MDL) subsystem and to the usage of the THR_LOCK manager for InnoDB tables. This post provides more information about these changes, which resulted in nice improvements in both scalability and performance.

Sometime during the development cycle of MySQL 5.6 we realized that locks used in the metadata locking subsystem (MDL) implementation can become a scalability bottleneck when many short statements were executed in @autocommit=1 mode against InnoDB tables.

Bug #66473 is a good example (8-table Sysbench

  [Read more...]
More EXT4 vs XFS IO Testing
+1 Vote Up -0Vote Down

Following my previous post, I got some excellent feedback in the forms of comments, tweets and other chat. In no particular order:

  • Commenter Tibi noted that ensuring I’m mounting with noatime, nodiratime and nobarrier should all improve performance.
  • Commenter benbradley pointed out a missing flag on some of my sysbench tests which will necessitate re-testing.
  • Former co-worker @preston4tw suggests looking at different IO schedulers. For all tests past, I used deadline which seems to be best, but re-testing with noop could be useful.
  • Fellow DBA @kormoc encouraged me to try many smaller partitions to limit the number of concurrent fsyncs.

There

  [Read more...]
Query Samples, Explained
+0 Vote Up -0Vote Down

The EXPLAIN command is one of MySQL’s most useful tools for understanding query performance. When you EXPLAIN a query, MySQL will return the plan created by the query optimizer. It also shows you how that query will be indexed and an estimate of how many rows are processed by that query. From this information, it is easy to see if your queries are taking advantage of table indexes or if you can change them for some extra performance. VividCortex provides a lot of information on query performance, including samples of the queries that are run against your database. Now, those samples will have EXPLAIN data for them too!

So what does the EXPLAIN feature look like in VividCortex? Here’s a screenshot to illustrate:

Those who are

  [Read more...]
Shinguz: Migration between MySQL/Percona Server and MariaDB
+0 Vote Up -0Vote Down
Taxonomy upgrade extras: migrationsidegradeupgrademysqlmariadbpercona serverconversioncompatibility

This week we did some migrations from MariaDB 10.0 to Percona Server 5.6 at the IT department of a big German bank.

We were perfectly aware that since version 10.0 the MariaDB code base started to diverge slightly away from the MySQL and Percona Server code base which are still pretty close to each other.

Because of the Percona Server

  [Read more...]
libAttachSQL Second Beta, After the Sledgehammer
+0 Vote Up -0Vote Down

Last week I blogged about getting sysbench working with libAttachSQL. This was not only an exercise in performance but also the first real test for libAttachSQL.

Before I had done this testing the most the early Alpha and Beta releases of libAttachSQL had gone through is a few basic queries. So, the first thing I did when I got the sysbench driver working was slap it with 1,000,000 queries. It pretty much exploded instantly on that. Over the course of this release I have probably hit it with over 100,000,000 queries and things run a lot smoother.

This has led to today's release of libAttachSQL 0.5.0. As far as changes go this release has the

  [Read more...]
Avoiding MySQL ERROR 1069 by explicitly naming indexes
+0 Vote Up -0Vote Down

Since I recently wrote about both MySQL error 1071 and error 1070 I decided to continue the pattern with a quick note on MySQL error 1069. In case you've never seen it before, this is MySQL error 1069:

ERROR 1069 (42000): Too many keys specified; max 64 keys allowed

I can't think of a valid use case that requires more than 64 indexes on a MySQL table, but it's possible to get this error by inadvertantly adding lots of duplicate indexes to a table. This can happen if you don't explicitly name your indexes.

Read on for

  [Read more...]
Indeed, MySQL 5.7 rocks : OLTP_RO/RW 1-table Benchmarks
Employee +2 Vote Up -0Vote Down

This is the next part of the stories about MySQL 5.7 Performance..

So far, the previous story was about reaching 645K QPS with SQL queries, while in reality it's only a half of the full story ;-) -- because when last year we've reached 500K QPS due a huge improvement on the TRX-list code, the same improvement made a negative impact on the all single-table test workloads..

What happened finally :

  • the new code changes dramatically lowered contention on TRX-list (trx_sys mutex)
  • which is made MDL related locking much more hot..
  • and if one table becomes hot on a




  [Read more...]
Testing the Fastest Way to Import a Table into MySQL (and some interesting 5.7 performance results)
+2 Vote Up -0Vote Down

As I mentioned on my last post, where I compared the default configurations options in 5.6 and 5.7, I have been doing some testing for a particular load in several versions of MySQL. What I have been checking is different ways to load a CSV file (the same file I used for testing the compression tools) into MySQL. For those seasoned MySQL DBAs and programmers, you probably know the answer, so you can jump over to my 5.6 versus 5.7 results. However, the first part of this post is dedicated for developers and MySQL beginners that want to know the answer to the title question, in a step-by-step fashion. I must say I

  [Read more...]
10 Newer Entries Showing entries 61 to 70 of 33318 10 Older Entries

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.