TOPコマンドでパフォーマンスを確認する事で問題ないのですが、
少しだけビジュアライズされてキーボードやマウスで簡単に操作出来るように
なっているHTOPでパフォーマンス確認をより身近にする事で気付ける事も
あるかもしれません。

ダウンロード

[root@colinux htop]# wget http://citylan.dl.sourceforge.net/project/htop/htop/0.8.3/htop-0.8.3.tar.gz
–2012-06-15 09:58:08– http://citylan.dl.sourceforge.net/project/htop/htop/0.8.3/htop-0.8.3.tar.gz
citylan.dl.sourceforge.net をDNSに問いあわせています… 212.118.44.106, 2a03:1800:1:7::2
citylan.dl.sourceforge.net|212.118.44.106|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 428061 (418K) [application/x-gzip]
`htop-0.8.3.tar.gz’ に保存中

100%[====================================================================================>] 428,061 71.5K/s 時間 5.9s

2012-06-15 09:58:15 (71.5 KB/s) – `htop-0.8.3.tar.gz’ へ保存完了 [428061/428061]

[root@colinux htop]#

展開

[root@colinux htop]# tar xzvf htop-0.8.3.tar.gz
htop-0.8.3/
htop-0.8.3/Makefile.am
htop-0.8.3/ClockMeter.h
htop-0.8.3/depcomp
htop-0.8.3/Meter.c
htop-0.8.3/htop.1.in
htop-0.8.3/SignalItem.c
htop-0.8.3/plpa-1.1/
htop-0.8.3/plpa-1.1/Makefile.am
htop-0.8.3/plpa-1.1/src/
htop-0.8.3/plpa-1.1/src/Makefile.am
htop-0.8.3/plpa-1.1/src/plpa.h.in
htop-0.8.3/plpa-1.1/src/plpa_dispatch.c
[…省略]
htop-0.8.3/acinclude.m4
htop-0.8.3/Object.c
htop-0.8.3/htop.c
htop-0.8.3/autogen.sh
htop-0.8.3/AvailableMetersPanel.c
[root@colinux htop]#

インストール [configure -> make -> make install]

[root@colinux htop-0.8.3]# ./configure
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
[…省略]
checking for unistd.h… (cached) yes
checking curses.h usability… no
checking curses.h presence… no
checking for curses.h… no
configure: error: missing headers: curses.h
[root@colinux htop-0.8.3]#

configureでエラーになったので必要なパッケージをインストール
エラー内容:configure: error: missing headers: curses.h

[root@colinux htop-0.8.3]# yum install ncurses-devel
fedora 100% |=========================| 2.1 kB 00:00
updates 100% |=========================| 2.3 kB 00:00
Setting up Install Process
Parsing package install arguments

今回は無事にconfigureが完了したので、
makeとmake installしてインストールを完了。

configure: creating ./config.status
config.status: creating plpa-1.1/Makefile
config.status: creating plpa-1.1/src/Makefile
config.status: creating Makefile
config.status: creating htop.1
config.status: creating config.h
config.status: config.h is unchanged
config.status: creating plpa-1.1/src/plpa_config.h
config.status: creating plpa-1.1/src/plpa.h
config.status: executing depfiles commands
[root@colinux htop-0.8.3]#
[root@colinux htop-0.8.3]# make
[…省略]
[root@colinux htop-0.8.3]# make install
[…省略]

htopを起動してみる。
パスを指定しなければ以下のパスにインストールされている。

[root@colinux htop-0.8.3]# whereis htop
htop: /usr/local/bin/htop
[root@colinux htop-0.8.3]#
[root@colinux htop-0.8.3]# htop

起動後はF1~F10キーでNICEやTREEなども操作出来る。

通常起動後

htop

htop


flexAsynchによるMySQL Clusterベンチマーク

MySQL Benchmark Tool
https://dev.mysql.com/downloads/benchmarks.html
―概要―
FlexAsynch is a benchmark specifically developed to test scalability of MySQL Cluster.
It is found in any MySQL Cluster source tarball under storage/ndb/test/ndbapi. The features required to
run it in this parallel manner requires a MySQL Cluster 7.x version released after the 15th of October 2011.
The DBT2 Benchmark Tool can be used to run distributed tests with many MySQL Cluster Data nodes and many
flexAsynch benchmark programs in a completely automated fashion.

Mikaelさんが、MySQL Clusterでのベンチマーク方法についての手法を書かれているので、
他のツール含めて検証される場合は此方を参考にすると良さそうです。
Mikael Ronstrom

自分の環境にはSourceやJavaが無かったのでまずダウンロードしてインストールしました。
その他、コンパイラーなどは必要に応じてインストールしてください。
あとは、コンパイルして基本的な動作確認が出来たら、自分が変化を判断し易いように、
標準オプション決めて実行し、古いバージョンや古いシステムから入れ替える時にどれだけ
パフォーマンスが変化していくか確認用に使ってみるのも良いかと思っています。

1) クラスターソースコードのダウンロード

  wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4.6/mysql-cluster-gpl-7.4.6.tar.gz

2) Javaのインストール (今回は、1.8で上手くいかなかったので1.6で実行しました)

[root@Labs01 mysql-cluster-gpl-7.4.6]# yum search jdk
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
==================================================================== N/S matched: jdk ====================================================================
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video support
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
ldapjdk-javadoc.noarch : Javadoc for ldapjdk
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation
ldapjdk.noarch : The Mozilla LDAP Java SDK

  Name and summary matches only, use "search all" for everything.
[root@Labs01 mysql-cluster-gpl-7.4.6]# yum install java-1.6.0-*
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ java-1.6.0-openjdk.x86_64 1:1.6.0.35-1.13.7.1.el7_1 を インストール
--> 依存性の処理をしています: tzdata-java のパッケージ: 1:java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64
--> 依存性の処理をしています: libpulse.so.0(PULSE_0)(64bit) のパッケージ: 1:java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64
--> 依存性の処理をしています: libpulse.so.0()(64bit) のパッケージ: 1:java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64
---> パッケージ java-1.6.0-openjdk-demo.x86_64 1:1.6.0.35-1.13.7.1.el7_1 を インストール
---> パッケージ java-1.6.0-openjdk-devel.x86_64 1:1.6.0.35-1.13.7.1.el7_1 を インストール
---> パッケージ java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.35-1.13.7.1.el7_1 を インストール
---> パッケージ java-1.6.0-openjdk-src.x86_64 1:1.6.0.35-1.13.7.1.el7_1 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ pulseaudio-libs.x86_64 0:3.0-30.el7 を インストール
--> 依存性の処理をしています: libsndfile.so.1(libsndfile.so.1.0)(64bit) のパッケージ: pulseaudio-libs-3.0-30.el7.x86_64
--> 依存性の処理をしています: libsndfile.so.1()(64bit) のパッケージ: pulseaudio-libs-3.0-30.el7.x86_64
--> 依存性の処理をしています: libasyncns.so.0()(64bit) のパッケージ: pulseaudio-libs-3.0-30.el7.x86_64
---> パッケージ tzdata-java.noarch 0:2015d-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libasyncns.x86_64 0:0.8-7.el7 を インストール
---> パッケージ libsndfile.x86_64 0:1.0.25-9.el7 を インストール
--> 依存性の処理をしています: libvorbisenc.so.2()(64bit) のパッケージ: libsndfile-1.0.25-9.el7.x86_64
--> 依存性の処理をしています: libvorbis.so.0()(64bit) のパッケージ: libsndfile-1.0.25-9.el7.x86_64
--> 依存性の処理をしています: libogg.so.0()(64bit) のパッケージ: libsndfile-1.0.25-9.el7.x86_64
--> 依存性の処理をしています: libgsm.so.1()(64bit) のパッケージ: libsndfile-1.0.25-9.el7.x86_64
--> 依存性の処理をしています: libFLAC.so.8()(64bit) のパッケージ: libsndfile-1.0.25-9.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ flac-libs.x86_64 0:1.3.0-5.el7_1 を インストール
---> パッケージ gsm.x86_64 0:1.0.13-11.el7 を インストール
---> パッケージ libogg.x86_64 2:1.3.0-7.el7 を インストール
---> パッケージ libvorbis.x86_64 1:1.3.3-8.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================================================== 
Package                                       アーキテクチャー          バージョン                                      リポジトリー                容量
==========================================================================================================================================================
インストール中:
 java-1.6.0-openjdk                            x86_64                    1:1.6.0.35-1.13.7.1.el7_1                       updates                     42 M
 java-1.6.0-openjdk-demo                       x86_64                    1:1.6.0.35-1.13.7.1.el7_1                       updates                    1.9 M
 java-1.6.0-openjdk-devel                      x86_64                    1:1.6.0.35-1.13.7.1.el7_1                       updates                     15 M
 java-1.6.0-openjdk-javadoc                    x86_64                    1:1.6.0.35-1.13.7.1.el7_1                       updates                     13 M
 java-1.6.0-openjdk-src                        x86_64                    1:1.6.0.35-1.13.7.1.el7_1                       updates                     39 M
依存性関連でのインストールをします:
 flac-libs                                     x86_64                    1.3.0-5.el7_1                                   updates                    169 k
 gsm                                           x86_64                    1.0.13-11.el7                                   base                        30 k
 libasyncns                                    x86_64                    0.8-7.el7                                       base                        26 k
 libogg                                        x86_64                    2:1.3.0-7.el7                                   base                        24 k
 libsndfile                                    x86_64                    1.0.25-9.el7                                    base                       149 k
 libvorbis                                     x86_64                    1:1.3.3-8.el7                                   base                       204 k
 pulseaudio-libs                               x86_64                    3.0-30.el7                                      base                       556 k
 tzdata-java                                   noarch                    2015d-1.el7                                     updates                    144 k

トランザクションの要約
==========================================================================================================================================================
インストール  5 パッケージ (+8 個の依存関係のパッケージ)

総ダウンロード容量: 111 M
インストール容量: 367 M
Is this ok [y/d/N]: y
Downloading packages:
(1/13): gsm-1.0.13-11.el7.x86_64.rpm                                                                                               |  30 kB  00:00:00     (2/13): flac-libs-1.3.0-5.el7_1.x86_64.rpm                                                                                         | 169 kB  00:00:02     (3/13): java-1.6.0-openjdk-demo-1.6.0.35-1.13.7.1.el7_1.x86_64.rpm                                                                 | 1.9 MB  00:00:06     (4/13): libasyncns-0.8-7.el7.x86_64.rpm                                                                                            |  26 kB  00:00:00     (5/13): libogg-1.3.0-7.el7.x86_64.rpm                                                                                              |  24 kB  00:00:00     (6/13): libsndfile-1.0.25-9.el7.x86_64.rpm                                                                                         | 149 kB  00:00:00     (7/13): libvorbis-1.3.3-8.el7.x86_64.rpm                                                                                           | 204 kB  00:00:00     (8/13): pulseaudio-libs-3.0-30.el7.x86_64.rpm                                                                                      | 556 kB  00:00:00     (9/13): java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el7_1.x86_64.rpm                                                                |  15 MB  00:00:59     (10/13): tzdata-java-2015d-1.el7.noarch.rpm                                                                                        | 144 kB  00:00:01     (11/13): java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el7_1.x86_64.rpm                                                             |  13 MB  00:01:04     (12/13): java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64.rpm                                                                     |  42 MB  00:01:49     (13/13): java-1.6.0-openjdk-src-1.6.0.35-1.13.7.1.el7_1.x86_64.rpm                                                                 |  39 MB  00:02:12     ----------------------------------------------------------------------------------------------------------------------------------------------------------合計                                                                                                                      816 kB/s | 111 MB  00:02:19     Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 2:libogg-1.3.0-7.el7.x86_64                                                                                              1/13   インストール中          : flac-libs-1.3.0-5.el7_1.x86_64                                                                                           2/13   インストール中          : 1:libvorbis-1.3.3-8.el7.x86_64                                                                                           3/13   インストール中          : gsm-1.0.13-11.el7.x86_64                                                                                                 4/13   インストール中          : libsndfile-1.0.25-9.el7.x86_64                                                                                           5/13   インストール中          : tzdata-java-2015d-1.el7.noarch                                                                                           6/13   インストール中          : libasyncns-0.8-7.el7.x86_64                                                                                              7/13   インストール中          : pulseaudio-libs-3.0-30.el7.x86_64                                                                                        8/13   インストール中          : 1:java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                      9/13   インストール中          : 1:java-1.6.0-openjdk-demo-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                10/13   インストール中          : 1:java-1.6.0-openjdk-src-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                 11/13   インストール中          : 1:java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el7_1.x86_64                                                               12/13   インストール中          : 1:java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el7_1.x86_64                                                             13/13   検証中                  : libsndfile-1.0.25-9.el7.x86_64                                                                                           1/13   検証中                  : libasyncns-0.8-7.el7.x86_64                                                                                              2/13   検証中                  : 1:java-1.6.0-openjdk-demo-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                 3/13   検証中                  : flac-libs-1.3.0-5.el7_1.x86_64                                                                                           4/13   検証中                  : tzdata-java-2015d-1.el7.noarch                                                                                           5/13   検証中                  : pulseaudio-libs-3.0-30.el7.x86_64                                                                                        6/13   検証中                  : 1:java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el7_1.x86_64                                                              7/13   検証中                  : gsm-1.0.13-11.el7.x86_64                                                                                                 8/13   検証中                  : 2:libogg-1.3.0-7.el7.x86_64                                                                                              9/13   検証中                  : 1:java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                     10/13   検証中                  : 1:java-1.6.0-openjdk-src-1.6.0.35-1.13.7.1.el7_1.x86_64                                                                 11/13   検証中                  : 1:java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el7_1.x86_64                                                               12/13   検証中                  : 1:libvorbis-1.3.3-8.el7.x86_64                                                                                          13/13 
インストール:
  java-1.6.0-openjdk.x86_64 1:1.6.0.35-1.13.7.1.el7_1                        java-1.6.0-openjdk-demo.x86_64 1:1.6.0.35-1.13.7.1.el7_1                    
  java-1.6.0-openjdk-devel.x86_64 1:1.6.0.35-1.13.7.1.el7_1                  java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.35-1.13.7.1.el7_1                 
  java-1.6.0-openjdk-src.x86_64 1:1.6.0.35-1.13.7.1.el7_1                   

依存性関連をインストールしました:
  flac-libs.x86_64 0:1.3.0-5.el7_1      gsm.x86_64 0:1.0.13-11.el7          libasyncns.x86_64 0:0.8-7.el7            libogg.x86_64 2:1.3.0-7.el7            libsndfile.x86_64 0:1.0.25-9.el7      libvorbis.x86_64 1:1.3.3-8.el7      pulseaudio-libs.x86_64 0:3.0-30.el7      tzdata-java.noarch 0:2015d-1.el7     
完了しました!
[root@Labs01 mysql-cluster-gpl-7.4.6]# which java
/bin/java
[root@Labs01 mysql-cluster-gpl-7.4.6]# /bin/java -version
java version "1.6.0_35"
OpenJDK Runtime Environment (IcedTea6 1.13.7) (rhel-1.13.7.1.el7_1-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
[root@Labs01 mysql-cluster-gpl-7.4.6]# 


2) ソースコードの解凍(tar xzf mysql-cluster-gpl-7.4.6.tar.gz) とクラスターのビルド
※746binは、インストール先用に用意したフォルダーですので何でも良いです。

[root@Labs01 mysql-cluster-gpl-7.4.6]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
[root@Labs01 mysql-cluster-gpl-7.4.6]# readlink $(readlink $(which java))
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
[root@Labs01 mysql-cluster-gpl-7.4.6]#
echo "export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64" >> /root/.bashrc
[root@Labs01 mysql-cluster-gpl-7.4.6]#

[root@Labs01 mysql-cluster-gpl-7.4.6]# cmake . -DCMAKE_INSTALL_PREFIX=/addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin -DWITH_NDB_TEST=ON 
[root@Labs01 mysql-cluster-gpl-7.4.6]# make -I /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.35.x86_64/include
/bin/ar: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/libmysqld/libmysqld.a を作成しています

Hup....

[ 98%] Built target mysqlserver
Scanning dependencies of target mysql_client_test_embedded
[100%] Building C object libmysqld/examples/CMakeFiles/mysql_client_test_embedded.dir/__/__/tests/mysql_client_test.c.o
Linking CXX executable mysql_client_test_embedded
[100%] Built target mysql_client_test_embedded
Scanning dependencies of target mysql_embedded
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/completion_hash.cc.o
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/mysql.cc.o
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/readline.cc.o
Linking CXX executable mysql_embedded
[100%] Built target mysql_embedded
Scanning dependencies of target mysqltest_embedded
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysqltest_embedded.dir/__/__/client/mysqltest.cc.o
Linking CXX executable mysqltest_embedded
[100%] Built target mysqltest_embedded
Scanning dependencies of target my_safe_process
[100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o
Linking CXX executable my_safe_process
[100%] Built target my_safe_process
[root@Labs01 mysql-cluster-gpl-7.4.6]# 


[root@Labs01 mysql-cluster-gpl-7.4.6]# make install
[  0%] Built target INFO_BIN
[  0%] Built target INFO_SRC
[  0%] Built target abi_check
[  1%] Built target zlib
[  2%] Built target yassl
[  4%] Built target taocrypt
[  6%] Built target edit
[  8%] Built target strings
[ 13%] Built target mysys
[ 13%] Built target dbug
[ 13%] Built target mysys_ssl
[ 13%] Built target comp_err
[ 13%] Built target GenError
[ 13%] Built target csv
[ 13%] Built target csv_embedded
[ 14%] Built target myisammrg
[ 15%] Built target myisammrg_embedded
[ 15%] Built target federated
[ 15%] Built target federated_embedded
[ 21%] Built target innobase
[ 27%] Built target innobase_embedded
[ 27%] Built target archive
[ 27%] Built target archive_embedded

Hup....

-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/innotest2
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/server-cfg
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/test-insert
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/innotest2a
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/innotest1
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/bench-count-distinct
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/graph-compare-results
-- Installing: /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/sql-bench/copy-db
[root@Labs01 mysql-cluster-gpl-7.4.6]#

flex

3) クラスター管理ノードでコンフィグファイルを編集して、テスト用に今回ビルドしたAPIノードを追加。

[api]
NodeId=60
Hostname=192.168.56.108

コンフィグファイルをリロードして新しいノードIDがロードされている事を確認


[root@cluster74_01 data]# /usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/ndb-config.ini --reload

show

4) 実際にflexAsynchを実行してみます
ここでは、オプションの指定をせずに接続先のみ指定して実行してみます。

[root@Labs01 mysql-cluster-gpl-7.4.6]# export LD_LIBRARY_PATH=/addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/lib
[root@Labs01 mysql-cluster-gpl-7.4.6]# export NDB_CONNECTSTRING=192.168.56.114:1186


[root@Labs01 mysql-cluster-gpl-7.4.6]# /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/bin/flexAsynch 

FLEXASYNCH - Starting normal mode
Perform benchmark of insert, update and delete transactions
  1 number of concurrent threads 
  32 number of parallel operation per thread 
  500 transaction(s) per round 
  1 iterations 
  Load Factor is 80%
  1 tables 
  25 attributes per table 
  0 ordered indexes per table 
  1 is the number of 32 bit words per attribute 
  Tables are with logging 
  Transactions are executed with hint provided
  No force send is used, adaptive algorithm used

Key Errors are disallowed
Temporary Resource Errors are allowed
Insufficient Space Errors are disallowed
Node Recovery Errors are allowed
Overload Errors are allowed
Timeout Errors are allowed
Internal NDB Errors are allowed
User logic reported Errors are allowed
Application Errors are disallowed
Using table name TAB0_1807968432
CPU for this connection: 0
  NdbAPI node with id = 60

Waiting for ndb to become ready...
Creating TAB0_1807968432...
numFragments = 2
number of nodes = 2

All NDB objects and table created


Loop # 1

Executing inserts
16000 transactions, 16000 insert total time = 4376 ms
Average 0.273500 ms/transaction, 0.273500 ms/insert.
0.228519 transactions/second, 3656.307130 inserts/second.

Executing reads
16000 transactions, 16000 read total time = 1668 ms
Average 0.104250 ms/transaction, 0.104250 ms/read.
0.599520 transactions/second, 9592.326139 reads/second.

Executing updates
16000 transactions, 16000 update total time = 3913 ms
Average 0.244562 ms/transaction, 0.244562 ms/update.
0.255558 transactions/second, 4088.934321 updates/second.

Hup...

Executing deletes
16000 transactions, 16000 delete total time = 3818 ms
Average 0.238625 ms/transaction, 0.238625 ms/delete.
0.261917 transactions/second, 4190.675746 deletes/second.

--------------------------------------------------
Dropping table TAB0_1807968432...
insert average: 3656/s min: 3656/s max: 3656/s stddev: 0%
update average: 4088/s min: 4088/s max: 4088/s stddev: 0%
delete average: 4190/s min: 4190/s max: 4190/s stddev: 0%
read   average: 9774/s min: 9592/s max: 9956/s stddev: 1%

NDBT_ProgramExit: 0 - OK

[root@Labs01 mysql-cluster-gpl-7.4.6]# 

run

FLEXASYNCHオプション


FLEXASYNCH
   Perform benchmark of insert, update and delete transactions
 
Arguments:
   -t Number of threads to start, default 1
   -p Number of parallel transactions per thread, default 32
   -o Number of transactions per loop, default 500
   -l Number of loops to run, default 1, 0=infinite
   -load_factor Number Load factor in index in percent (40 -> 99)
   -a Number of attributes, default 25
   -c Number of operations per transaction
   -s Size of each attribute, default 1 
      (PK is always of size 1, independent of this value)
   -simple Use simple read to read from database
   -dirty Use dirty read to read from database
   -write Use writeTuple in insert and update
   -n Use standard table names
   -no_table_create Don't create tables in db
   -temp Create table(s) without logging
   -no_hint Don't give hint on where to execute transaction coordinator
   -adaptive Use adaptive send algorithm (default)
   -force Force send when communicating
   -non_adaptive Send at a 10 millisecond interval
   -local 1 = each thread its own node, 2 = round robin on node per parallel trans 3 = random node per parallel trans
   -ndbrecord Use NDB Record
   -r Number of extra loops
   -insert Only run inserts on standard table
   -read Only run reads on standard table
   -update Only run updates on standard table
   -delete Only run deletes on standard table
   -create_table Only run Create Table of standard table
   -drop_table Only run Drop Table on standard table
   -warmup_time Warmup Time before measurement starts
   -execution_time Execution Time where measurement is done
   -cooldown_time Cooldown time after measurement completed
   -table Number of standard table, default 0
   -num_tables Number of tables in benchmark, default 1
   -num_indexes Number of ordered indexes per table in benchmark, default 0
   -receive_cpus A set of CPUs for receive threads, one per connection, comma separated list with ranges, e.g. 0-2,4

例)オプションを変更してみると以下のように同時接続、トランザクション数等が確認出来る。
必要に応じて、パラメータを変更してください。


[root@Labs01 mysql-cluster-gpl-7.4.6]# /addisk/flexAsynch/mysql-cluster-gpl-7.4.6/746bin/bin/flexAsynch -t 1 -p 30 -l 2 -o 10 -c 100 -n -a 2

FLEXASYNCH - Starting normal mode
Perform benchmark of insert, update and delete transactions
  1 number of concurrent threads 
  30 number of parallel operation per thread 
  10 transaction(s) per round 
  2 iterations 
  Load Factor is 80%
  1 tables 
  2 attributes per table 
  0 ordered indexes per table 
  1 is the number of 32 bit words per attribute 
  Tables are with logging 
  Transactions are executed with hint provided
  No force send is used, adaptive algorithm used

flexAsynchのCPU Loadもきちんとデータノード間で、分散されている事が確認出来る。
htop

参考: 
Mikael Ronstrom
Benchmark MySQL Cluster using flexAsynch
The installation and use of flexAsynch testing tool of MySQL clusters


データロード中のパフォーマンス確認メモ
検証データ

データ量

root@localhost [nyosm]>select
    ->  table_name, engine, table_rows as tbl_rows, avg_row_length as rlen,
    ->  floor((data_length+index_length)/1024/1024) as 'ToTal(MB)',
    ->  floor((data_length)/1024/1024) as 'DATA(MB)',
    ->  floor((index_length)/1024/1024) as 'INDEX(MB)'
    ->  from information_schema.tables
    ->  where table_schema=database()
    ->  order by (data_length+index_length) desc;
+-----------------+--------+----------+------+-----------+----------+-----------+
| table_name      | engine | tbl_rows | rlen | ToTal(MB) | DATA(MB) | INDEX(MB) |
+-----------------+--------+----------+------+-----------+----------+-----------+
| nodes           | InnoDB |  5145519 |  116 |       671 |      571 |       100 |
| waytags         | InnoDB |  4751170 |   57 |       630 |      262 |       367 |
| waynodes        | InnoDB |  6761106 |   49 |       454 |      319 |       134 |
| nodetags        | InnoDB |   651766 |   60 |        93 |       37 |        55 |
| ways            | InnoDB |   866342 |   89 |        91 |       73 |        17 |
| relationtags    | InnoDB |    28886 |   91 |         7 |        2 |         4 |
| relationmembers | InnoDB |    72882 |   64 |         6 |        4 |         1 |
| relations       | InnoDB |     4748 |   89 |         0 |        0 |         0 |
+-----------------+--------+----------+------+-----------+----------+-----------+
8 rows in set (0.19 sec)

root@localhost [nyosm]>

HTOPにてシステムリソース確認
htop

データロード中


root@localhost [sys]>show full processlist;
+----+------+-----------+-------+---------+------+------------------+----------------------------------------------------------------+
| Id | User | Host      | db    | Command | Time | State            | Info                                                           |
+----+------+-----------+-------+---------+------+------------------+----------------------------------------------------------------+
|  7 | root | localhost | sys   | Query   |    0 | System lock      | show full processlist                                          |
|  9 | root | localhost | nyosm | Query   |   48 | Reading from net | LOAD DATA LOCAL INFILE '/tmp/waynodes.txt' INTO TABLE waynodes |
+----+------+-----------+-------+---------+------+------------------+----------------------------------------------------------------+
2 rows in set (0.13 sec)

root@localhost [sys]>select * from sys.innodb_buffer_stats_by_table order by data desc limit 0,10;
+---------------+--------------------+-----------+-----------+-------+--------------+-----------+-------------+
| object_schema | object_name        | allocated | data      | pages | pages_hashed | pages_old | rows_cached |
+---------------+--------------------+-----------+-----------+-------+--------------+-----------+-------------+
| nyosm         | waynodes           | 91.73 MiB | 85.43 MiB |  5871 |         5871 |      5871 |     1382935 |
| mysql         | innodb_index_stats | 16.00 KiB | 11.64 KiB |     1 |            1 |         1 |         126 |
| mysql         | innodb_table_stats | 16.00 KiB | 1.95 KiB  |     1 |            1 |         1 |          32 |
+---------------+--------------------+-----------+-----------+-------+--------------+-----------+-------------+
3 rows in set (0.90 sec)

root@localhost [sys]>

データLOAD終了
INFO: finished after 0 hours, 23 minutes and 2 seconds

root@localhost [sys]>show full processlist;
+----+------+-----------+------+---------+------+-------------+-----------------------+
| Id | User | Host      | db   | Command | Time | State       | Info                  |
+----+------+-----------+------+---------+------+-------------+-----------------------+
|  7 | root | localhost | sys  | Query   |    0 | System lock | show full processlist |
+----+------+-----------+------+---------+------+-------------+-----------------------+
1 row in set (0.03 sec)

root@localhost [sys]>select * from sys.innodb_buffer_stats_by_table order by data desc limit 0,10;
+---------------+--------------------+------------+------------+-------+--------------+-----------+-------------+
| object_schema | object_name        | allocated  | data       | pages | pages_hashed | pages_old | rows_cached |
+---------------+--------------------+------------+------------+-------+--------------+-----------+-------------+
| nyosm         | waynodes           | 79.41 MiB  | 73.97 MiB  |  5082 |         5082 |      5082 |     1204526 |
| InnoDB System | SYS_INDEXES        | 16.00 KiB  | 7.85 KiB   |     1 |            1 |         1 |         113 |
| InnoDB System | SYS_TABLES         | 32.00 KiB  | 7.81 KiB   |     2 |            2 |         2 |          66 |
| InnoDB System | SYS_FIELDS         | 16.00 KiB  | 5.59 KiB   |     1 |            1 |         1 |         131 |
| nyosm         | relationmembers    | 5.69 MiB   | 5.24 MiB   |   364 |          364 |       364 |       73607 |
| nyosm         | relations          | 544.00 KiB | 449.98 KiB |    34 |           34 |        34 |        4770 |
| nyosm         | relationtags       | 4.08 MiB   | 3.11 MiB   |   261 |          261 |       261 |       28638 |
| InnoDB System | SYS_DATAFILES      | 16.00 KiB  | 3.01 KiB   |     1 |            1 |         1 |          57 |
| InnoDB System | SYS_TABLESPACES    | 16.00 KiB  | 2.96 KiB   |     1 |            1 |         1 |          57 |
| mysql         | innodb_table_stats | 16.00 KiB  | 2.14 KiB   |     1 |            1 |         1 |          35 |
+---------------+--------------------+------------+------------+-------+--------------+-----------+-------------+
10 rows in set (0.09 sec)

root@localhost [sys]>

FIOによるディスクパフォーマンス確認
HDDも以前と比較して選択肢が増えて、必要に応じてSATA,SAS,SSD,Fusion-IO等を選択し、
用件、コスト、パフォーマンス、可用性に応じて全体的なバランスからシステムを選択する必要がある。
ディスク、CPU、メモリー、ネットワークのパフォーマンスを必要に応じて確認する必要があるが、
今回はI/Oの確認の為にディスクベンチマークをFIOで行う方法の再確認。

fio
FIOの取得

[root@HOME001 tools]# wget http://brick.kernel.dk/snaps/fio-2.0.12.1.tar.bz2
--2012-12-30 15:57:22--  http://brick.kernel.dk/snaps/fio-2.0.12.1.tar.bz2
brick.kernel.dk をDNSに問いあわせています... 87.104.106.3
brick.kernel.dk|87.104.106.3|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 244365 (239K) [application/x-bzip]
`fio-2.0.12.1.tar.bz2' に保存中

100%[==============================================>] 244,365      209K/s 時間 1.1s

2012-12-30 15:57:25 (209 KB/s) - `fio-2.0.12.1.tar.bz2' へ保存完了 [244365/244365]

[root@HOME001 tools]#

FIOの展開

[root@HOME001 tools]# tar -jxf fio-2.0.12.1.tar.bz2
[root@HOME001 tools]# ls -l
合計 704
drwxrwxr-x. 11 root  root    4096 12月 19 03:55 2012 fio-2.0.12.1
-rw-r--r--.  1 root  root  244365 12月 19 03:56 2012 fio-2.0.12.1.tar.bz2
drwxrwxrwx.  6 mysql users   4096 12月 30 13:10 2012 htop-0.8.3
-rw-r--r--.  1 root  root  428061  6月 23 23:05 2009 htop-0.8.3.tar.gz
drwxr-xr-x.  5 root  root    4096 12月 29 07:21 2012 iotop-0.4.4
-rw-r--r--.  1 root  root   30334 10月 31 06:01 2011 iotop-0.4.4.tar.gz
[root@HOME001 tools]#

必要なライブラリーを追加

[root@HOME001 fio-2.0.12.1]# yum install libaio-devel
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libaio-devel.i686 0:0.3.107-10.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================
 Package                            Arch                       Version                                 Repository                  Size
========================================================================================================================================
Installing:
 libaio-devel                       i686                       0.3.107-10.el6                          base                        13 k

Transaction Summary
========================================================================================================================================
Install       1 Package(s)

Total download size: 13 k
Installed size: 19 k
Is this ok [y/N]: y
Downloading Packages:
libaio-devel-0.3.107-10.el6.i686.rpm                                                                             |  13 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libaio-devel-0.3.107-10.el6.i686                                                                                     1/1
  Verifying  : libaio-devel-0.3.107-10.el6.i686                                                                                     1/1
Installed:
  libaio-devel.i686 0:0.3.107-10.el6
Complete!
[root@HOME001 fio-2.0.12.1]#

libaio

MAKEとインストール

[root@HOME001 fio-2.0.12.1]# make
    CC gettime.o
    CC fio.o
    CC ioengines.o
    CC init.o
    CC stat.o
    CC log.o
    CC time.o
    CC filesetup.o
    CC eta.o
    CC verify.o
省略.......
    CC engines/rdma.o
    CC profiles/tiobench.o
    CC engines/fusion-aw.o
    CC engines/falloc.o
    CC engines/e4defrag.o
    CC fio
[root@HOME001 fio-2.0.12.1]#

[root@HOME001 fio-2.0.12.1]# make install
install -m 755 -d /usr/local/bin
install fio fio_generate_plots /usr/local/bin
install -m 755 -d /usr/local/man/man1
install -m 644 fio.1 /usr/local/man/man1
install -m 644 fio_generate_plots.1 /usr/local/man/man1
[root@HOME001 fio-2.0.12.1]#

fio

実際にFIOでI/Oテストを行ってみる。
fio –directory=/tmp/ –direct=1 –rw=write –bs=4k –size=512M –numjobs=2 –runtime=100 –group_reporting –name=seq-write

[root@HOME001 fio-2.0.12.1]# fio --directory=/tmp/ --direct=1 --rw=write --bs=4k --size=512M --numjobs=2 --runtime=100 --group_reporting --name=seq-write
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
seq-write: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.0.12.1
Starting 2 processes
seq-write: Laying out IO file(s) (1 file(s) / 512MB)
seq-write: Laying out IO file(s) (1 file(s) / 512MB)
Jobs: 2 (f=2): [WW] [100.0% done] [0K/11584K/0K /s] [0 /2896 /0  iops] [eta 00m:00s]
seq-write: (groupid=0, jobs=2): err= 0: pid=10250: Sun Dec 30 16:16:04 2012
  write: io=1024.0MB, bw=11369KB/s, iops=2842 , runt= 92231msec
    clat (usec): min=223 , max=202116 , avg=693.03, stdev=5958.70
     lat (usec): min=225 , max=202118 , avg=695.77, stdev=5958.71
    clat percentiles (usec):
     |  1.00th=[  266],  5.00th=[  274], 10.00th=[  294], 20.00th=[  306],
     | 30.00th=[  310], 40.00th=[  314], 50.00th=[  318], 60.00th=[  326],
     | 70.00th=[  350], 80.00th=[  358], 90.00th=[  362], 95.00th=[  378],
     | 99.00th=[  892], 99.50th=[ 1112], 99.90th=[99840], 99.95th=[100864],
     | 99.99th=[100864]
    bw (KB/s)  : min= 3760, max= 7072, per=49.97%, avg=5680.87, stdev=554.02
    lat (usec) : 250=0.12%, 500=96.95%, 750=1.30%, 1000=0.84%
    lat (msec) : 2=0.39%, 4=0.02%, 10=0.01%, 20=0.01%, 50=0.01%
    lat (msec) : 100=0.04%, 250=0.32%
  cpu          : usr=1.09%, sys=14.74%, ctx=267814, majf=0, minf=0
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=0/d=262144, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=1024.0MB, aggrb=11369KB/s, minb=11369KB/s, maxb=11369KB/s, mint=92231msec, maxt=92231msec

Disk stats (read/write):
    dm-0: ios=0/262084, merge=0/0, ticks=0/243053, in_queue=243054, util=100.00%, aggrios=0/262205, aggrmerge=0/80, aggrticks=0/197656, aggrin_queue=197235, aggrutil=99.97%
  sda: ios=0/262205, merge=0/80, ticks=0/197656, in_queue=197235, util=99.97%
[root@HOME001 fio-2.0.12.1]#

fioでベンチマーク中にiotopでパフォーマンス確認
fio-test

ファイルが残っているのでマニュアルで削除する。

[root@HOME001 fio-2.0.12.1]# ls -lh /tmp/
合計 1.1G
srwxrwxrwx. 1 mysql mysql    0 12月 30 15:44 2012 mysql.sock
-rw-r--r--. 1 root  root  512M 12月 30 16:16 2012 seq-write.1.0
-rw-r--r--. 1 root  root  512M 12月 30 16:16 2012 seq-write.2.0
-rw-------. 1 root  root   254 12月 30 16:02 2012 yum_save_tx-2012-12-30-16-02d9sxpX.yumtx
[root@HOME001 fio-2.0.12.1]#

その他:参考値簡易測定
何もインストールしないで通常のDDコマンドでも簡易的な確認可能

[root@HOME001 tmp]# time dd if=/dev/zero of=tempfile_1M bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 35.9152 s, 29.9 MB/s

real    0m36.251s
user    0m0.006s
sys     0m2.802s
[root@HOME001 tmp]# time dd if=/dev/zero of=tempfile_1024M bs=1024M count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 38.0579 s, 28.2 MB/s

real    0m38.178s
user    0m0.000s
sys     0m3.910s
[root@HOME001 tmp]# ls -lh tempfile_*
-rw-r--r--. 1 root root 1.0G 12月 30 16:57 2012 tempfile_1024M
-rw-r--r--. 1 root root 1.0G 12月 30 16:57 2012 tempfile_1M
[root@HOME001 tmp]#

dd

参考
fioを用いたディスクIOのパフォーマンス測定
クラウドを加速させるSSD技術(前編)
書き込み速度ベンチマーク
容量指定のダミーファイルを作成したい


Windowsでは名前解決したアドレスはローカルキャッシュに残っているが、
Linuxではローカルキャッシュに残って無いので場合によっては、
名前解決の処理やネットワークの負荷を軽減する為にLinuxでも利用した方が良い場合がある。
但し、便利な反面ローカルにキャッシュが残っている事を認識してないと問題解決に
時間がかかる場合があるので、運用者は常に認識しておいた方が良いかと。

DNSMASQのインストール

[root@HOME001 htop-0.8.3]# yum install dnsmasq
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dnsmasq.i686 0:2.48-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
 Package                                  Arch                                  Version                                     Repository                             Size
========================================================================================================================================================================
Installing:
 dnsmasq                                  i686                                  2.48-6.el6                                  base                                  144 k

Transaction Summary
========================================================================================================================================================================
Install       1 Package(s)

Total download size: 144 k
Installed size: 281 k
Is this ok [y/N]: y
Downloading Packages:
dnsmasq-2.48-6.el6.i686.rpm                                                                                                                      | 144 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : dnsmasq-2.48-6.el6.i686                                                                                                                              1/1
  Verifying  : dnsmasq-2.48-6.el6.i686                                                                                                                              1/1

Installed:
  dnsmasq.i686 0:2.48-6.el6

Complete!
[root@HOME001 htop-0.8.3]# /sbin/chkconfig --list dnsmasq
dnsmasq         0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@HOME001 htop-0.8.3]#

自動起動する場合は、chkconfigにて自動起動設定して下さい。

ローカルからDNSを利用出来るように設定ファイルの編集
/etc/dnsmasq.conf

 [root@HOME001 htop-0.8.3]# cat /etc/dnsmasq.conf | grep "127.0.0.1" | egrep -i -v ^#
 listen-address=127.0.0.1
 [root@HOME001 htop-0.8.3]#

1

/etc/resolv.conf

 [root@HOME001 htop-0.8.3]# cat /etc/resolv.conf | grep "127.0.0.1" | egrep -i -v ^#
 nameserver 127.0.0.1
 [root@HOME001 htop-0.8.3]#

resolv

サービスの再起動

[root@HOME001 htop-0.8.3]# /etc/init.d/dnsmasq restart
Shutting down dnsmasq:                                     [  OK  ]
Starting dnsmasq:                                          [  OK  ]
[root@HOME001 htop-0.8.3]# 

dnsmasq

ローカルで名前解決が出来るか確認

[root@HOME001 htop-0.8.3]# dig @127.0.0.1 kakaku.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> @127.0.0.1 kakaku.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37234
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;kakaku.com.                    IN      A

;; ANSWER SECTION:
kakaku.com.             411     IN      A       210.129.151.129

;; Query time: 9 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Dec 30 13:53:28 2012
;; MSG SIZE  rcvd: 44

&#91;root@HOME001 htop-0.8.3&#93;# 
&#91;/SHELL&#93;

<a href="http://variable.jp/2012/12/30/linux%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8bdns-cache/dig/" rel="attachment wp-att-2450"><img src="http://variable.jp/wp-content/uploads/2012/12/dig.jpg" alt="dig" width="624" height="351" /></a>

<a href="http://variable.jp/2012/12/30/linux%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8bdns-cache/dig-grep/" rel="attachment wp-att-2452"><img src="http://variable.jp/wp-content/uploads/2012/12/dig-grep.jpg" alt="dig-grep" width="442" height="80" /></a>

<strong>ローカルキャッシュのリフレッシュ</strong>
[SHELL]
[root@HOME001 htop-0.8.3]# /etc/init.d/dnsmasq force-reload
Shutting down dnsmasq:                                     [  OK  ]
Starting dnsmasq:                                          [  OK  ]
[root@HOME001 htop-0.8.3]#

force-reload

参考

Dnsmasq

いろいろなキャッシュ:dnsmasq, cache proxy

dnsmasqで簡易DNSサーバ


Linuxシステムにてディスクボトルネックを確認する為のコマンド

VMSTAT

[root@HOME001 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 1663492  10488 167444    0    0    62    19   31   58  1  0 97  2  0
[root@HOME001 ~]#

IOSTAT

[root@HOME001 ~]# iostat
Linux 2.6.32-279.el6.i686 (HOME001.localdomain)         2012年12月29日  _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.66    0.00    0.54    1.83    0.00   96.98

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               2.70       142.88        44.06     284638      87784
dm-0              7.92       129.00        44.04     256994      87728
dm-1              0.16         1.29         0.00       2576          0
dm-2              0.06         0.46         0.01        922         24

[root@HOME001 ~]# 

[root@HOME001 iotop-0.4.4]# iostat -d -x
Linux 2.6.32-279.el6.i686 (HOME001.localdomain)         2012年12月29日  _i686_  (1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.67     3.11    1.39    0.39    88.43    27.72    65.42     0.21  115.80  11.72   2.08
dm-0              0.00     0.00    1.57    3.42    80.07    27.33    21.51     1.78  356.10   3.90   1.95
dm-1              0.00     0.00    0.10    0.00     0.77     0.00     8.00     0.00    5.24   2.16   0.02
dm-2              0.00     0.00    0.05    0.05     0.37     0.38     7.93     0.00   16.82  12.62   0.12

[root@HOME001 iotop-0.4.4]#

[root@HOME001 iotop-0.4.4]# iostat -d -x dm-0 15 10
Linux 2.6.32-279.el6.i686 (HOME001.localdomain)         2012年12月29日  _i686_  (1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
dm-0              0.00     0.00    1.53    3.32    77.73    26.54    21.51     1.73  356.00   3.92   1.90

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
dm-0              0.00     0.00    0.00    0.20     0.00     1.60     8.00     0.02  112.33 112.33   2.25

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

iostat

iostat-part

Iotop
http://guichaz.free.fr/iotop/

Linux has always been able to show how much I/O was going on (the bi and bo columns of the vmstat 1 command).
Iotop is a Python program with a top like UI used to show of behalf of which process is the I/O going on.
It requires Python ≥ 2.5 (or Python ≥ 2.4 with the ctypes module) and a Linux kernel ≥ 2.6.20 with the
TASK_DELAY_ACCT CONFIG_TASKSTATS, TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS options on.

必要なカーネルとPythonのバージョン確認

[root@HOME001 tools]# uname -r
2.6.32-279.el6.i686
[root@HOME001 tools]# python -V
Python 2.6.6
[root@HOME001 tools]#

uname_python

ダウンロードとインストール

[root@HOME001 tools]# wget http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.gz
--2012-12-29 07:12:15--  http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.gz
guichaz.free.fr をDNSに問いあわせています... 212.27.63.130
guichaz.free.fr|212.27.63.130|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 30334 (30K) [application/x-gzip]
`iotop-0.4.4.tar.gz' に保存中

100%[=============================================================================>] 30,334      21.8K/s 時間 1.4s

2012-12-29 07:12:17 (21.8 KB/s) - `iotop-0.4.4.tar.gz' へ保存完了 [30334/30334]

[root@HOME001 tools]# tar zxvf iotop-0.4.4.tar.gz
iotop-0.4.4/
iotop-0.4.4/COPYING
iotop-0.4.4/PKG-INFO
iotop-0.4.4/NEWS
iotop-0.4.4/iotop/
iotop-0.4.4/iotop/__init__.py
iotop-0.4.4/iotop/netlink.py
iotop-0.4.4/iotop/ioprio.py
iotop-0.4.4/iotop/version.py
iotop-0.4.4/iotop/data.py
iotop-0.4.4/iotop/ui.py
iotop-0.4.4/iotop/genetlink.py
iotop-0.4.4/iotop/vmstat.py
iotop-0.4.4/.gitignore
iotop-0.4.4/iotop.py
iotop-0.4.4/ChangeLog
iotop-0.4.4/setup.py
iotop-0.4.4/README
iotop-0.4.4/iotop.1
iotop-0.4.4/setup.cfg
iotop-0.4.4/THANKS
iotop-0.4.4/bin/
iotop-0.4.4/bin/iotop
[root@HOME001 tools]#

[root@HOME001 iotop-0.4.4]# ./setup.py install
running install
running build
running build_py

install

iotopの実行

[root@HOME001 iotop-0.4.4]# /usr/bin/iotop
Total DISK READ:       0.00 B/s | Total DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cgroup]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
[root@HOME001 iotop-0.4.4]#


[root@HOME001 iotop-0.4.4]# iotop -bto --iter=1
07:27:50 Total DISK READ:       0.00 B/s | Total DISK WRITE:       0.00 B/s
    TIME  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
[root@HOME001 iotop-0.4.4]#

iotop

iotop_optopm

以下パッケージでも入手可能との事
sudo aptitude install iotop
sudo yum install iotop
sudo emerge iotop
sudo pacman -Sy iotop

参考
http://guichaz.free.fr/iotop/

Using iotop to check I/O and swap

htopでパフォーマンス確認