Longer summaries for each below. See the first post for notes on the above columns. Issues 13, 15, and 18 are for Linux instances under the KVM hypervisor (HW virtualization); the remainder are for SmartOS instances (OS virtualization). While I began documenting these performance wins to share the tools I was using, it’s also useful to consider the methodologies as well. I’ll mention key methodolo
Notice: get_bloginfo was called with an argument that is deprecated since version 2.2! The home option is deprecated for the family of bloginfo() functions. Use the url option instead. in /home/knmngmprl21d/public_html/blogs/wp-includes/functions.php on line 3551 http://dtrace.org/blogs/brendan/"> I work at Joyent – a cloud computing company – doing performance analysis of small to large cloud env
2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです。以前作成したSystemTapスクリプトは、実はMySQL 5.5のDisk I/Oを分析することができませんでした。というのも、MySQL 5.5からInnoDBが非同期I/Oを行うようになったのですが、以前のスクリプトは非同期I/Oに対応していなかったためです。本日はMySQL 5.5におけるInnoDBの非同期I/Oについて、確認していきたいと思います。 非同期I/Oとは 非同期I/Oとは、I/O処理をブロックされることなしに行う方式のことです。通常のI/O処理はそれが完了するまで待たされてしまうのですが、非同期I/Oを用いることでI/O処理の完了を待つことなしに他の処理を進めることができます。以下のウェブサイトでとても詳しく解説されています。 バッファキャッシュとAIO(1) - O'Reil
2011年10月19日 簡単なLinuxカーネルのプロファイル (readprofile) Linuxカーネルのタイマー割り込みのところのソースを見ていたら、簡単なしくみのプロファイラが組み込まれているのを見つけました。これはタイマー割り込みのところでプログラムカウンタがどこを指していたかを累計していき、readprofileというツールでその結果を見ることができます。 このプロファイラはCONFIG_PROFILING=y でカーネルをビルドするだけで使うことができます。 Ubuntu 10.04 (x86_64)のカーネルはその条件でビルドされているのですぐに試すことができました。 プロファイラの準備 rootで # echo 2 > /sys/kernel/profiling または $ sudo sh -c "echo 2 > /sys/kernel/profiling" (この'
概要 Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 背景 個人的にperfよくできてると思うので紹介したいというのと、 パフォーマンスカウンタの読み方ってあんまり知られてないみたいなので、 それの解説を書きたい。 構成 perf について説明したあと、パフォーマンスカウンタの読みかた、見かた、を説明する。 perfとは何か Linuxに付いてくるプロファイラ。 man perf によると、 NAME ---- perf - Performance analysis tools for Linux と、書いてある。名前がひどいのでなんとかしてほしい。 perf の特徴 個人的には、手軽に使えるのが素晴らしいと思う。 2.6.31以降カーネルに標準で付いてる。(Ubuntuだとlinux-tools-common(TODO:あとで確認)で入るはず) 特殊な設定が必要無く、
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
A recent post at http://jeffr-tech.livejournal.com/6268.html#cutid1 pointed to a possible Linux scalability problem when compared to FreeBSD. Setup 4 core PowerPC64 system Debian unstable (MySQL 5.0.32-Debian_7) Linux 2.6.21-rc3 Baseline A baseline was taken to verify this setup sees the same scalability issue: We see a problem when the number of benchmark threads exceeds the number of cores in th
maatkitを一通り使ってみたメモ - ククラフト で紹介したMaatkitのMySQLのクエリ統計ツールmk-query-digest. mk-query-digest /var/lib/mysql/db.slow.logという風にして,MySQLのスローログを食べて # Query 73: 0.00 QPS, 0.00x concurrency, ID 0x2256C8F4C0666085 at byte 322977024 # This item is included in the report because it matches --outliers. # pct total min max avg 95% stddev median # Count 0 10 # Exec time 0 20s 2s 2s 2s 2s 0 2s # Lock time 0 0 0 0 0 0
従来より、プロファイリングのためのソフトウェアと言えば高価なものが中心であった。もっと安く、お金を掛けずに、簡単に、早くプログラムのボトルネックを探し出す方法はないのか?!ということで編み出されたプロファイリングテクノロジーがある。その名も、「poor man's profiler」だ。 poor man's profilerの全容は、次のページで知ることが出来る。 Poor Man's Profiler http://poormansprofiler.org/ poor man's profilerは、現Facebook(元MySQL ABのサポートエンジニア)のDomas Mituzasによって開発されたプロファイリングテクノロジーである。以下が、その全ソースコードである。 #!/bin/bash nsamples=1 sleeptime=0 pid=$(pidof mysqld) f
トラブルの発生時に利用するツール システム開発の現場では予期しないトラブルが付き物だ。Javaの場合、ヒープメモリやGCに関するトラブルが発生することが多い。この場合、GCログやヒープダンプを解析することで原因の特定を試みることになる。今回はこれらのトラブルが発生した場合に役立つツールを紹介する。 JDK標準ツール「jconsole」 jconsoleはJDKに標準で付属するJMXクライアントツールで、Java VMのリソースの利用状況を監視するのによく利用される。JDKインストールディレクトリのbinディレクトリ配下のjconsole.exeで起動することができ、ローカルで動作しているプロセスのほか、リモートで動作しているJava VMに接続することも可能だ。JDKのインストールディレクトリ直下のbinディレクトリにあるjconsole.exe(Windowsの場合)で起動することができ
Javaアプリケーションのプロファイリングについて考え始めると、多数のツールが思い浮かぶだろう。しかし、プロファイリングがロギングステートメントの追加と同じくらい容易になると考えたことは? これがPerf4jプロジェクトの目標である。 Perf4JのSystem.currentTimeMillis()に対する関係は、log4jのSystem.out.println()に対する関係と同じである この目標を念頭に置いて、Perf4Jは、次のような印象的な機能リストを提供している。 簡潔なタイミングステートメント用のシンプルなストップウォッチメカニズム。 集約統計とパフォーマンスグラフを生成するログファイルを解析するためのコマンドラインツール。 非常に一般的なロギングフレームワークおよびファサード(log4j、java.util.logging、Apache Commons Loggingおよび
jsLexとは? jsLexはRockstarappsが提供するEclipse向けのプラグインだ。Webサイトでは「a wide variety of tools that can be used to optimize a complete web application or just individual resources」と紹介されているが、CSSやJavaScriptなどの圧縮やHTML内のJavaScript/CSSの外部化、さらにはJavaScriptのプロファイリングなど、Ajaxアプリケーションのクライアントサイドの最適化に特化した機能を提供している。 なお、jsLexの最新のプロダクションリリース(安定板)は1.1.7だが、すでに次期バージョンである1.2のベータ版もリリースされている。1.2系ではさまざまな新機能が実装されていることから、本稿では執筆時点の最新のベー
MySQL 5.1からデフォルトで有効になっている便利な機能としてプロファイリングというものがある。MySQL 5.0でも利用出来たのだが、実験的な機能という位置づけであり、搭載されていたのはGPL版のMySQL Community Server限定だった。MySQL 5.1からは全てのエディションでプロファイリングを利用することができる。 プロファイリング機能を利用すると、クエリの状態(特に状態遷移やリソースの消費状況)を詳細に分析できるのでとても便利だ。MySQLエンジニア必携の機能といって良いだろう。というわけでプロファイリング機能の使い方を説明しよう。 MySQLサーバにログインしたら、まずは次のようにしてプロファイリングを有効にする。 mysql> SET profiling=1; すると、クエリの情報が記録されるようになる。次に、分析したいクエリを実行する。クエリはなんでもいい
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー
Java SE 6の最新版となるJDK 6 Update 7が公開されている。JDK 6 Update 7では13のバグが修正されているほかOlsonタイムゾーンデータバージョン2008bの同梱が実施されている。ただし、もっとも注目すべきはほかにある。JDK 6 Update 7からはじめてJava VisualVMが配布物に同梱されるようになったことだ。 VisualVM 1.0 Java VisualVMはJava仮想マシンで動作しているJavaアプリケーションの情報を視覚化するためのツールアプリケーション。Java仮想マシンが提供するデータを集約し再構築してユーザに対してさまざまな角度から情報を視覚化してくれる。アプリケーションのプロファイリングやトラブルシューティングに活用できるアプリケーションだ。プラグインを開発することでさらに機能を拡張できるという特徴もある。 VisualVM
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く