Planet MySQL Planet MySQL: Meta Deutsch Español Français Italiano 日本語 Русский Português 中文
10 Newer Entries Showing entries 31 to 39

Displaying posts with tag: patch (reset)

Mirrored Binlogs patch
+0 Vote Up -0Vote Down

Google patches V1 contain interesting patch to mirror binary log on slave. Although Google is preparing GlobalTransactionId patch, which going to be replacement for MirroredBinlogs, we still think mirroring binary logs is very useful for:

  • Backup of binary logs in real time
  • High availability, to switch master load to slave with mirrored binary logs

By request of our friends EngineYard we extracted this patch from Google's patchset and going to include in our next releases. Actually our patch contains features for both MirroredBinlogs and FastMasterPromotion patches, as second provides feature to make slave as master in case of main master

  [Read more...]
Improved InnoDB rw_lock patch
+0 Vote Up -0Vote Down

There is patch from Google to improve SMP performance , but for some workloads it showed for us reverse scalability.
E.g. update_key benchmark from sysbench. There are also results with Yasufumi's rw_locks (http://bugs.mysql.com/bug.php?id=26442)

Threads Standard InnoDB Google smpfix Yasufumi rw_lock 1 9700.28 10601.96 9432.44 2 14355.66 16673.31 12783.58 4 16104.20 2669.39 6308.92 8 18507.55 780.22 1854.43 16 16178.09 842.73 1601.05 32 12337.50 2028.89 3274.13 64 7801.18 1911.94 4043.85

results are in tps, more are better

(result in tps, more is better)
The benchmark was made on 8cores box, and as you see for 4+ threads we have worse results than for 2 threads. That is was main reason why we did not


  [Read more...]
Community at work - SIGNAL
+1 Vote Up -0Vote Down



Long time ago, I saw a blog post by Jorge Bernal, with a simple implementation of SIGNAL for MySQL stored procedures. If you have ever tried to write MySQL stored procedures, you know how dearly missed is this feature.
I discussed this feature internally, and everyone told me "don't bother, we're going to implement SIGNAL in MySQL 6.1". And indeed, the full implementation for SIGNAL and RESIGNAL is in the roadmap.

What does that mean? Should we wait two or three more years to





  [Read more...]
Changing MySQL’s Community Contribution Agreement
+0 Vote Up -0Vote Down

A while ago, MySQL developed a Community Contribution Agreement for community contributions to the MySQL source code. While browsing the MySQL Forge Wiki I came across:

http://forge.mysql.com/wiki/Community_Contributions

This page shows that the Community Contribution Agreement has changed — it is no longer the document MySQL AB created. It is now Sun Microsystem’s standard Sun Contributor Agreement, which CEO Mårten Mickos recently explained to me was “more accepted than the agreement MySQL had come up with.”

I am happy to see some of the great Sun practices trickle down to replace some issues that MySQL did not handle smoothly. All in all, I agree with Mårten Mickos and think the Sun Contributor Agreement is much better….

….but what do you think?

What is stored InnoDB buffer pool
+0 Vote Up -0Vote Down

Ever wonder what is stored in InnoDB buffer pool at the moment ?

It is not so hard actually - we made a short patch for MySQL 5.0 which show innodb buffer pool content

PLAIN TEXT SQL:
  • mysql> SELECT * FROM information_schema.INNODB_BUFFER_POOL_CONTENT; 
  • +-----------+-------+--------+---------+----------+------------+-----------+--------------+--------------+----------------+-----------------+--------------+------------------+
  • | BLOCK_NUM | SPACE | OFFSET | RECORDS | DATASIZE | FLUSH_TYPE | FIX_COUNT | LRU_POSITION | PAGE_TYPE_ID | PAGE_TYPE      | INDEX_NAME      | TABLE_SCHEMA | TABLE_NAME       |
  •   [Read more...]
    Google’s user_statistics V2 port and changes
    +0 Vote Up -0Vote Down

    Recently Google published V2 release of patches, one of them user_statistics we use in our releases.
    New features are quite interesting so we decided to port it to fresh releases of MySQL. Features includes:

      New statistics per user (Cpu_time, Bytes_received, Bytes_sent, etc) New command SHOW CLIENT_STATISTICS, which shows statistics per client's hostname, not per user FLUSH USER_ and CLIENT_STATISTICS commands

    Our port includes:

    • INFORMATION_SCHEMA tables - USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS, TABLE_STATISTICS
    • Access protection - USER_STATISTICS, CLIENT_STATISTICS available only for user with SUPER or PROCESS privileges. INDEX_STATISTICS, TABLE_STATISTICS shows only information of tables that current user has access to (SELECT privileges required). This is important for hosting providers

      [Read more...]
    Drupal lookup path
    +0 Vote Up -0Vote Down

    Description:
    The drupal_lookup_path function unnecessarily counts all rows of the url_alias table to determine if any aliases are defined. This can be expensive on a transactional database such as MySQL with the InnoDB Storage Engine or PostgreSQL when a website has a lot of aliases. This patch modifies the query to always only return one row, possible because any existing pid will be greater than 0. If no aliases are defined, it will return 0.

    Status:
    This patch has not been merged into any release of Drupal.

    Patch

    read more

    The performance effects of new patches
    +0 Vote Up -0Vote Down

    We are going to show the effects of the new patches applied to Percona HighPerf release. As you see from the following graphs, there is significant difference to normal version when the data bigger than buffer pool (right graph shows CPU usage)

    The workload emulates TPC-C and has a same characteristic to DBT-2 (it is not DBT-2, but custom scripts, we will publish them eventually). There are no delays between transactions (no thinking time, no keying time), it uses MySQL C API and the server side prepared statement.

    The server has 8core CPU and RAID storage (RAID10 / 6 disks). The data population is along to the scale factor 40WH (:=~4GB). It is enough bigger

      [Read more...]
    How I patched InnoDB to show locks held
    +0 Vote Up -0Vote Down

    I've written before about how to figure out which connection is holding the InnoDB locks for which other connections are waiting. In other words, how to figure out who's blocking you from getting work done. The short and sweet: turn on the InnoDB lock monitor and use innotop to look at the locks held and waited-for. This has some disadvantages, so I made a patch to solve the issue the way I like it. The result is significantly more ability to find and solve InnoDB lock wait issues.

    10 Newer Entries Showing entries 31 to 39

    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.