Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 91 to 120 of 721 Next 30 Older Entries

Displaying posts with tag: performance (reset)

On performance of JDBC drivers.
+4 Vote Up -1Vote Down

Back when the first version of the MariaDB Java Client was released, someone asked in the comments about the performance characteristics of the driver compared to ConnectorJ. I answered with hand-waving, saying that nobody does anything stupid, the performance of the drivers would be roughly the same, but I promised to measure it and tell the world one day. And now that day has come. The day where three MySQL JDBC drivers (ConnectorJ, MariaDB JDBC, and Drizzle JDBC) are compared against each other. Unlike the server, which gets benchmarking attention all the time, there is no standard benchmark for connectors, so I needed to improvise, while trying to keep the overhead of the server minimal. So I did something very primitive to start. I used my two favorite queries:

  • DO 1 — this one does not retrieve a result set, and thus can be seen as a small
  [Read more...]
MariaDB Introduces Atomic Writes
+7 Vote Up -0Vote Down
Sysbench OLTP, transactions per second

When dealing with high performance, low latency storage devices, such as SSD cards, one finds bottlenecks in new places. This is a story about such a bottle neck and how to work around it.

One unique feature of InnoDB is the double write buffer. This buffer was implemented to recover from half-written pages. This can happen in case of a power failure while InnoDB is writing a page (16KB = 32 sectors) to disk. On reading that page, InnoDB would be able to discover the corruption from the mismatch of the page checksum. However in order to recover, an intact copy of the page would be needed.

The double write buffer provides such a copy. Whenever InnoDB flushes a page to disk, it is first written to the double write buffer. Only when the buffer is

  [Read more...]
OurSQL Episode 136: Digging for Information
+1 Vote Up -0Vote Down

We discuss INFORMATION_SCHEMA with plenty of examples on useful queries. In this week's Ear Candy, we talk about resident versus virtual memory on Linux, and in At the Movies has a video about MongoDB.

DB Hangops in May will be Wed May 8th and 22nd noon pacific time.
Upcoming MySQL tech tours (http://www.mysql.com/news-and-events/events/)

SkySQL Trainings
Tungsten University trainings

read more

Tap into Top-Level MySQL Performance with MySQL Training
Employee_Team +1 Vote Up -0Vote Down

MySQL, the most popular open source database brings you great performance. You can see the performance details in http://dimitrik.free.fr/blog/. To help you get the most from MySQL's performance, take the MySQL for Performance Tuning course.

This four day instructor-led training course covers:

  • Performance Tuning Basic
  • Performance Tuning Tools
  • MySQL Server Tuning
  • MySQL Query Cache
  • Storage Engines
  • Schema Design and Performance
  • Performance Tuning Extras

This course is available in three delivery types:

      [Read more...]
    Deploying Cloudera Impala on EC2 with Example Live Demo
    +0 Vote Up -0Vote Down

    A little while ago I blogged about (and open sourced) an Impala-powered soccer visualization demo, designed to demonstrate just how responsive Impala queries can be. Since not everyone has the time or resources to run the project themselves, we’ve decided to host it ourselves on an EC2 instance. You can try the visualization; we’ve also opened up the Impala web interface, where you can see query profiles and performance numbers, and Hue (username and password are both ‘test’), where you can run your own queries on the dataset.

    Deploying  [Read more...]

    Top Two Signs your MySQL Database is Maxing Out
    +0 Vote Up -0Vote Down
    One of the main responsibilities of any database administrator is to keep a close eye on how database performance is impacting size and storage. Decisions will have to be made on whether or not to make changes within the database structure or application itself, or to make the changes on the storage and resource side [...] Read More
    How to Tune a MySQL Application Like a Piano
    +1 Vote Up -0Vote Down
    A default installation of MySQL is easy to perform, but if you really want your databases to sing, you should tune them like you would tune a piano. In MySQL tuning pertains to either the application or the database system. In this post, we cover some common tuning techniques and best practices to increase your [...] Read More
    Why MySQL Performance at Low Concurrency is Important
    +0 Vote Up -0Vote Down

    A few weeks ago I wrote about “MySQL Performance at High Concurrency” and why it is important, which was followed up by Vadim’s post on ThreadPool in Percona Server providing some great illustration on the topic. This time I want to target an opposite question: why MySQL performance at low concurrency is important for you.

    I decided to write about this topic as a number of recent blog

      [Read more...]
    MySQL Workshops: Chicago & London this April
    +0 Vote Up -0Vote Down

    Percona’s Kenny Gryp leads a recent MySQL workshop

    Percona will be in Chicago and London the week of April 8th delivering two 2-day MySQL workshops. For our MPB readers, we are offering a 15% discount. Just use MPB15A when purchasing your tickets to one or both MySQL workshops.

      [Read more...]
    OurSQL Episode 131: Fresh Variables
    +1 Vote Up -0Vote Down

    This week we discuss changed behavior of variables in MySQL 5.6. In ear candy we talk about a cloud-based service to play with SQL on different databases, and At the Movies is Stewart Smith of Percona talking about MySQL in the Cloud as a Service during Linux Conf Australia in Canberra.

    Changed behavior of variables in 5.6
    boolean variables can be set to ON/OFF 1/0 TRUE/FALSE

    Variables with changes:

    read more

    Get Even More from MySQL With MySQL Performance Tuning Training
    Employee_Team +2 Vote Up -0Vote Down

    With each release, the MySQL database brings you even better performance. To get the most from your MySQL servers, performance tuning is important. And what better route than to take the MySQL for Performance Tuning training course.

    In this four-day instructor-led class you will learn to:

    • Understand the basics of Performance Tuning
    • Use the tools of performance tuning
    • Tune the MySQL server instance to improve performance
    • Improve performance of tables
    • Implement proper Schema Design to improve performance
    • Improve the performance of MySQL queries

    This course is available as:

    • Training-on-Demand: Start training within 24 hrs of registering and follow
      [Read more...]
    Sysbench OLTP: MySQL-5.6 vs. MariaDB-10.0
    +9 Vote Up -5Vote Down

    Oracle has now launched MySQL-5.6.10-GA, so it is time to come up with some new benchmark results. The test candidates in this benchmark run are

    • MySQL-5.5.29
    • MySQL-5.6.10
    • MariaDB-5.5.28a
    • MariaDB-10.0.1

    The 5.5 versions are in because I wanted to check for any regressions. In the past we have often seen performance regressions in newer versions which were caused by new features.

    This time the benchmark was run on a different box. The main difference is that this box does not have SSD but a high performance RAID-5 with 512M of battery-backed cache. Besides that the machine has 16 cores out of which 12 were used for mysqld and the other 4 for sysbench.

    The benchmark uses sysbench-0.5 OLTP with 8 tables and 10G worth of data. InnoDB buffer pool was 16G, InnoDB log group capacity 4G (the maximum for MySQL-5.5). The

      [Read more...]
    DBT-3 Q3: 6 x performance in MySQL 5.6.10
    Employee +11 Vote Up -0Vote Down
    When MySQL gets a query, it is the job of the optimizer to find the cheapest way to execute that query. Decisions include access method (range access, table scan, index lookup etc), join order, sorting strategy etc. If we simplify a bit, the optimizer first identifies the different ways to access each table and calculate their cost. After that, the join order is decided.

    However, some access methods can only be considered after the join order has been decided and therefore gets special treatment in the MySQL optimizer. For join conditions, e.g. "WHERE table1.col1 = table2.col2",  index lookup can only be used in table2 if table1 is earlier in the join sequence. Another class of access methods is only meaningful for tables that are first in the join order. An example is queries with ORDER BY ... LIMIT. Prior to MySQL 5.6.10 there was a bug in MySQL

      [Read more...]
    Efficient Partial Table Scans
    +0 Vote Up -0Vote Down
    There's a pretty common MySQL recipe for performance that if you want to efficiently scan through lots of rows in small chunks that LIMIT with OFFSET is right out.  Using OFFSET, MySQL will have to scan all the rows until it finds the starting position before it starts reading results to return.   Just to be clear, these statements look like:

    SELECT id FROM foo ORDER BY id LIMIT 10 OFFSET 1000;

    If you were trying to read all rows in table then this would  be a very slow and expensive way to do that (in terms of MySQL resources.) The most common optimization is to switch to an algorithm where you remember the last highest id value for each chunk of rows, and then add that to the WHERE clause.

    SELECT id FROM foo WHERE id > 100000  ORDER BY id LIMIT 10;

     This would be a much more efficient way

      [Read more...]
    OurSQL Episode 127: No Sweat Slaves
    +2 Vote Up -0Vote Down

    This week we begin to discuss replication features in MySQL 5.6. Ear Candy is a LOAD DATA INFILE bug and using CSV to get beyond it; At the Movies is Suzan Bond talking about "The Art of Self-Sourcing".

    Oracle's doing more MySQL tech tours. These seminars will be in the mornings, and are free. They will be on:
    Tuesday, February 19th in Petach Tikva, Israel
    Thursday, February 21st in Oslo and Brussels

    read more

    Serious XFS Performance Regression in Linux Kernel 2.6.32-279
    +0 Vote Up -0Vote Down
    I'm not the only one to have noticed this, but I spent a sufficient amount of time banging my head against a wall finding this out that I thought it important to make more people aware of this.

    While trying to validate new database hardware we were seeing some serious performance issues in production.  Most MySQL benchmarks using sysbench or pt-playback couldn't reproduce it, but a simple sysbench 16 threaded filio test on the mysql partition showed about 1/3 the throughput we would expect.   The fact that much of the hardware was new as well as the OS we were using made tracking down the cause difficult (changing from CentOS 5.5 to Scientific Linux 6.)

    Finally some of our ops people working on different systems started noticing similar issues, and they uncovered the XFS issue.  Sure enough -- when took existing hardware,

      [Read more...]
    MySQL 5.6 Replication Performance
    Employee_Team +10 Vote Up -1Vote Down

    With data volumes and user populations growing, its no wonder that database performance is a hot topic in developer and DBA circles.  

    Its also no surprise that continued performance improvements were one of the top design goals of the new MySQL 5.6 release which was declared GA on February 5th (note: GA means “Generally Available”, not “Gypsy Approved” @mysqlborat)

    And the performance gains haven’t disappointed:

    - Dimitri Kravtchuk’s Sysbench tests showed MySQL delivering up to 4x higher performance than the previous 5.5 release.

    - Mikael Ronstrom’s testing (http://www.mysql.com/why-mysql/benchmarks/) showed up to 4x better scalability as thread counts rose to

      [Read more...]
    How slow can SSD be or why is testing a new server performance important?
    +3 Vote Up -0Vote Down

    Recently we have helped our customer to migrate their entire application stack from one data center to another. Before we were brought on-board, customer had already placed an order for a new set of servers with the new hosting provider. All of them were suppose to be high-end systems – many CPU cores, plenty of RAM and RAID array build on top of SSD drives. As the new machines started being available to us, we began setting up the new environment. At some point it turned out that the new machines were actually slower compared to the several year old systems and their load was much higher under comparable traffic.

    We examined several of the new servers and each time the conclusion was that the problems were related poor I/O performance. In the benchmarks a RAID 10 array

      [Read more...]
    Optimize MySQL Performance with the Authentic MySQL Training
    Employee_Team +2 Vote Up -0Vote Down

    The MySQL database provides top-level performance. Here are two courses to help you get the most out of your MySQL system.

    Troubleshooting MySQL Performance With Sveta Smirnova

    This 1 day seminar is an opportunity to interact with Sveta Smirnova, MySQL engineer, expert on MySQL Performance and author of MySQL Troubleshooting.

    Sign up for this seminar scheduled for February 28th, 2013 in London, England

    Sveta will start from basics, working towards more advanced cases that DBAs would usually need years of

      [Read more...]
    Sphinx search performance optimization: multi-threaded search
    +2 Vote Up -0Vote Down

    Queries in MySQL, Sphinx and many other database or search engines are typically single-threaded. That is when you issue a single query on your brand new r910 with 32 CPU cores and 16 disks, the maximum that is going to be used to process this query at any given point is 1 CPU core and 1 disk. In fact, only one or the other.

    Seriously, if query is CPU intensive, it is only going to be using 3% of the available CPU capacity (for the same 32-core machine). If disk IO intensive – 6% of the available IO capacity (for the 16-disk RAID10 or RAID0 for that matter).

    Let me put it another way. If your MySQL or Sphinx query takes 10s to run on a machine with a single CPU core and single disk, putting it on a machine with 32 such cores and 16 such disks will not make it any better.

    But you knew this already. Question is

      [Read more...]
    First sysbench results comparing Amazon AWS RDS instances
    +2 Vote Up -0Vote Down

    RDS instance details

    • sysbench seeded 100Gb database and then snapshotted
    • 1Tb of RDS storage for the database
    • RDS MySQL 5.5.27
    • Default my.cnf RDS configuration except (find the full 'show global variables' output at the end of this post)
      • performance_schema is enabled
      • innodb_flush_logs_at_trx_commit = 0
    • provisioning an RDS instance for each instance size / PIOPS configuration from the seeded database. (10 in total) 

    Test details

    • Amazon RDS 
    • Within an AWS VPC
    • US-East

    First warm up innodb by running sysbench with options
    • oltp table size 1000000000
    • max-requests 0
    • max-time 300 (5 minute warm up)
    • oltp test mode complex
    • oltp index updates 10
    • oltp user delay

      [Read more...]
    Get The Most From MySQL Database With MySQL Performance Tuning Training
    Employee_Team +3 Vote Up -1Vote Down

    Get the most from MySQL Server's top-level performance by improving your understanding of performance tuning techniques.

    MySQL Performance Tuning Class

    In this 4 day class, you'll learn practical, safe, highly efficient ways to optimize performance for the MySQL Server. You can take this class as:

    • Training-on-Demand: Start training within 24 hours of registering and follow the instructor-led lecture material through streaming video at your own pace. Schedule time lab-time to perform the hands-on exercises at your convenience.
    • Live-Virtual Class: Follow the live instructor led class from your own desk - no travel required. There are already a range of events on the schedule to suit different timezones and with delivery in languages including English and German.
    • In-Class Event: Travel to a training center to follow
      [Read more...]
    Election 2012: Twitter Breaks Records with MySQL
    Employee_Team +8 Vote Up -0Vote Down
    Twitter VP of Infrastructure Operations Engineering Mazen Rawashdeh shared news and numbers yesterday on his blog:

    "Last night, the world tuned in to Twitter to share the election results as U.S. voters chose a president and settled many other campaigns. Throughout the day, people sent more than 31 million election-related Tweets (which contained certain key terms and relevant hashtags). And as results rolled in, we tracked the surge in election-related Tweets at 327,452 Tweets per minute (TPM). These numbers reflect the largest election-related Twitter conversation during our 6 years of existence, though they don’t capture the total volume of all Tweets yesterday."

    "Last night, Twitter averaged about 9,965 TPS from 8:11pm to 9:11pm PT, with a

      [Read more...]
    OurSQL Episode 113: A JS API with JDD
    +2 Vote Up -0Vote Down

    While we were at MySQL Connect last month, we interviewed long-time MySQL developer JD Duncan about integrating NoSQL and JavaScript with MySQL. His team developed the Node.js API for MySQL. This week, we present the interview we did. In Ear Candy, we discuss what makes a senior DBA, and in At the Movies we present a ScaleBase webinar.

    Oracle's "Scale with MySQL" seminars:
    Bucharest Romania, Tuesday 13 November
    Madrid, Tuesday 27 November

    read more

    Harness MySQL's Continued Performance Tuning Improvements
    Employee_Team +2 Vote Up -0Vote Down

    To fully harness the continued improvements in performance tuning you get with MySQL, take the MySQL Performance Tuning course.

    This 4 day class teaches you practical, safe, highly efficient ways to optimize performance for the MySQL Server. You will learn the skills needed to use tools for monitoring, evaluating and tuning. 

    You can take this course in the following three ways:

    • Training-on-Demand: Follow this course at your own pace and from your own desk with streaming video of instructor delivery and booking time to follow hands-on exercises at your own convenience.
    • Live-Virtual: Attend a live instructor-led event from your own desk. Choose from the numerous events on the schedule.
    • In-Class:  Travel to an education center to follow this class. A sample of events on the schedule is shown
      [Read more...]
    On SSDs – Lifespans, Health Measurement and RAID
    +4 Vote Up -0Vote Down
    Solid State Drive (SSD) have made it big and have made their way not only in desktop computing but also in mission-critical servers. SSDs have proved to be a break-through in IO performance and leave HDD far far behind in terms of Random IO performance. Random IO is what most of the database administrators would be concerned about as that is 90% of the IO pattern visible on database servers like MySQL. I have found Intel 520-series and Intel 910-series to be quite popular and they do give very good numbers in terms of Random IOPS. However, its not just performance that you should be concerned about, failure predictions and health gauges are also very important, as loss of data is a big NO-NO. There is a great deal of misconception about the endurance level of SSD, as its mostly compared to rotating disks even when measuring endurance levels, however, there is a big difference in how both SSD and HDD work, and that has a direct impact on the endurance level of SSD.
    Troubleshooting Database Network Problems Using tshark
    +0 Vote Up -0Vote Down
    Today, one of the MySQL database server response time has been increased within the pool of servers and noticed it was returning the query in 0.20 secs (randomly) as opposed[...]
    MySQL-5.6, GTID and binlogs on slaves
    +2 Vote Up -0Vote Down

    Not much to add really to the bug I’ve filed here: bug#67099.

    I personally can think of some very nasty consequences of applying this on the slaves I manage, and the reason I’m posting the bug is that while I guess this is too late to fix in 5.6 as it’s effectively a new feature, I’m sure many sites may bump into this and be somewhat disappointed if they want to use the new GTID feature and have several slaves.  Hence, if the fix/feature has to go into MySQL 5.7 then I hope it goes in sooner rather than later. We will see.

    Index merge annoyances fixed in MySQL 5.6
    Employee +6 Vote Up -0Vote Down
    While the index merge access types certainly are useful for a number of queries, there has been some frustration expressed both from customers and the community about how it...
  • is not used when it should have been
  • is used when ref access is obviously better
  • merges suboptimal indexes
  • is too restricted in which conditions can be used
  • I could come up with numerous examples of related bugs and feature requests dating back more than six years. To list a few: 17673, 30151, 23322,
      [Read more...]
    Helping to Reduce Page Compression Failures Rate
    Employee_Team +1 Vote Up -0Vote Down

    When InnoDB compresses a page it needs the result to fit into its predetermined compressed page size (specified with KEY_BLOCK_SIZE). When the result does not fit we call that a compression failure. In this case InnoDB needs to split up the page and try to compress again. That said, compression failures are bad for performance and should be minimized.

    Whether the result of the compression will fit largely depends on the data being compressed and some tables and/or indexes may contain more compressible data than others. And so it would be nice if the compression failure rate, along with other compression stats, could be monitored on a per table or even on a per index basis, wouldn't it?

    This is where the new INFORMATION_SCHEMA table in MySQL 5.6 kicks in. INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX provides exactly this helpful information. It contains the

      [Read more...]
    Previous 30 Newer Entries Showing entries 91 to 120 of 721 Next 30 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.