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

Displaying posts with tag: dtrace (reset)

10 Performance Wins
+1 Vote Up -0Vote Down

I work on weird and challenging performance issues in the cloud, often deep inside the operating system kernel. These have made for some interesting blog posts in the past, but there’s a lot more I don’t have time to share in that much detail. Here, I’ve summarized ten recent issues that myself and the other engineers at Joyent have worked on. I’d love to see similar summaries from other performance experts worldwide – it’s useful to see the types of issues people are working on and the tools they are using.

# Target Analyzed Key Tool Fixed  [Read more...]
Activity of the ZFS ARC
+0 Vote Up -0Vote Down

Disk I/O is still a common source of performance issues, despite modern cloud environments, modern file systems and huge amounts of main memory serving as file system cache. Understanding how well that cache is working is a key task while investigating disk I/O issues. In this post, I’ll show the activity of the ZFS file system Adaptive Replacement Cache (ARC).

There are often more statistics available than you realize (or have been documented), which may certainly be true with the ARC. Apart from showing these statistics, I’ll also show how to extend observability using dynamic tracing (DTrace). These tracing techniques are also applicable to any kernel subsystem. This is an advanced topic, where I’ll sometimes dip into kernel code.

Architecture

For background on the ZFS ARC, see the paper

  [Read more...]
More on measuring IO latency
+0 Vote Up -0Vote Down

To follow on to my earlier links to Brendan Gregg’s blog posts on measuring I/O latency, there is a third one discussing DTrace, and then a very detailed response from Mark Leith showing how to do it with the PERFORMANCE_SCHEMA in MySQL 5.5.

Related posts:

  • Disk latency versus filesystem latency
  • Measuring the popularity of the Percona MySQL build
  • Thoughts on the new PERFORMANCE_SCHEMA in MySQL
  •   [Read more...]
    Shooting with Crossbows into Zones
    Employee +0 Vote Up -0Vote Down

    Ok, so this site (and some other stuff) is now running on OpenSolaris. The previous previous article was mostly a test entry for me to see whether the DNS update was through but as some people wonder why I'm using this system that "fails while trying to copy Linux" I decided to discuss some of the reasons in more detail.

    Some people already know that my main system meanwhile runs OpenSolaris. The reason there is DTrace - a great way to see what the system, from the kernel, over userspaces programs, into a VM like the JVM or PHP's Zend VM, ... is doing which is a big help while debugging and developing applications. Even though DTrace is meant to do such analysis on

      [Read more...]
    Extra GlassFish News - Nov 8th, 2009
    Employee_Team +0 Vote Up -0Vote Down

    This is the first of our weekly news catch-up and covers Nov 1 to Nov 11, 2009. This week the news catch-up is partial; next week I'll create the entry through the week and will try to be more comprehensive.

    This week we also cover old news on JRuby and OSGi.

    GlassFish and Middleware News

    • IBM DeveloperWorks: Introducing Metro. Nice to see IBM refering to the GlassFish WebServices implementation as it is Used by Many, including IBM. Incidentally,
      [Read more...]
    A DTrace Quick Start Guide
    Employee +1 Vote Up -0Vote Down
    Alta Elsta & I just completed the DTrace Quick Start Guide: Observing Native and Web Applications in Production mini-book. If you need a hardcopy let me know but if you are like me and would love to save a few trees you can click on the picture below to download the pdf version.

    We talk about why DTrace is so different from any observation tools you may have seen. We cover basic DTrace concepts and some details on writing d-scripts. We also have a lot of sample scripts. Sections on using DTrace to observe MySQL and Drupal are included.

    The examples from the book have also been added to a wiki page for easier copy & paste.





      [Read more...]
    Using Dtrace to find queries creating disk temporary tables
    +0 Vote Up -0Vote Down

    Sometimes we have a lots of small and rather fast queries which use group by/order by, thus creating temporary tables. Some of those queries are retrieving text fields and mysql have to use disk (myisam) temporary tables. Those queries usually run for less than 1-2 seconds, so they did not get into slow query log, however, they sometimes add serious load on the system.

    Here is the stat example:

    bash-3.00$  /usr/local/mysql/bin/mysqladmin -uroot -p -i 2 -r extended-status|grep tmp_disk
    ...
    | Created_tmp_disk_tables           | 109           |
    | Created_tmp_disk_tables           | 101           |
    | Created_tmp_disk_tables           | 122           |
    ...
    

    40-50 tmp_disk_tables created per second

    So, how can we grab those queries? Usually we have to temporary enable general log, filter out queries with “group

      [Read more...]
    querystat - DTrace script to monitor your queries, query cache and server thread pre-emption
    Employee +3 Vote Up -0Vote Down

    I was recently helping some colleagues check what was happening with their MySQL queries, and wrote a DTrace script to do it. Time to share that script.

    First of all, a look at some output from the script:

    mashie[bash]# ./querystat.d -p `pgrep mysqld`
    Tracing started at 2009 Sep 17 16:28:35
    2009 Sep 17 16:28:38   throughput 3 queries/sec
    2009 Sep 17 16:28:41   throughput 4 queries/sec
    2009 Sep 17 16:28:44   throughput 528 queries/sec
    2009 Sep 17 16:28:47   throughput 1603 queries/sec
    2009 Sep 17 16:28:50   throughput 1676 queries/sec
    ^C
    Tracing ended   at 2009 Sep 17 16:28:51
    Average latency, all queries: 107 us
    Latency distribution, all queries (us): 
               value  ------------- Distribution ------------- count    
                  16 |                                         0        
                  32 |@@

      [Read more...]
    querystat - DTrace script to monitor your queries, query cache and server thread pre-emption
    Employee +0 Vote Up -0Vote Down

    I was recently helping some colleagues check what was happening with their MySQL queries, and wrote a DTrace script to do it. Time to share that script.

    First of all, a look at some output from the script:

    mashie[bash]# ./querystat.d -p `pgrep mysqld`
    Tracing started at 2009 Sep 17 16:28:35
    2009 Sep 17 16:28:38   throughput 3 queries/sec
    2009 Sep 17 16:28:41   throughput 4 queries/sec
    2009 Sep 17 16:28:44   throughput 528 queries/sec
    2009 Sep 17 16:28:47   throughput 1603 queries/sec
    2009 Sep 17 16:28:50   throughput 1676 queries/sec
    \^C
    Tracing ended   at 2009 Sep 17 16:28:51
    Average latency, all queries: 107 us
    Latency distribution, all queries (us): 
               value  ------------- Distribution ------------- count    
                  16 |                                         0        
                  32 |@@

      [Read more...]
    querystat - DTrace script to monitor your queries, query cache and server thread pre-emption
    Employee +0 Vote Up -0Vote Down

    I was recently helping some colleagues check what was happening with their MySQL queries, and wrote a DTrace script to do it. Time to share that script.

    First of all, a look at some output from the script:

    mashie[bash]# ./querystat.d -p `pgrep mysqld`
    Tracing started at 2009 Sep 17 16:28:35
    2009 Sep 17 16:28:38   throughput 3 queries/sec
    2009 Sep 17 16:28:41   throughput 4 queries/sec
    2009 Sep 17 16:28:44   throughput 528 queries/sec
    2009 Sep 17 16:28:47   throughput 1603 queries/sec
    2009 Sep 17 16:28:50   throughput 1676 queries/sec
    \^C
    Tracing ended   at 2009 Sep 17 16:28:51
    Average latency, all queries: 107 us
    Latency distribution, all queries (us): 
               value  ------------- Distribution ------------- count    
                  16 |                                         0        
                  32 |@@

      [Read more...]
    Showing entries 1 to 10 of 60 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.