主キーを検索条件とした一致検索のベンチマーク結果です。
READ PK POINT :主キーで一件検索

「秒間25,000クエリ以上!」の検索性能を実現しています。また、同時実行数が増えてもほぼ性能劣化しておらず、コア数である2tread 同時実行までは性能がスケールしています。若干InnoDBのほうがMyISAMより性能が上回っていますが、InnoDBのクラスターIndex(クラスターIndexについては後述)の効果と想定されます。
※現時点では2コアサーバでしか検証できていませんが今後、よりコア数の多いサーバで検証していく予定です。
5月 28
MySQL パフォーマンス検証として、弊社検証環境でベンチマークをとってみました。5.0系と5.1系、MyISAM、InnoDBをそれぞれ計測しています。 とりあえず今回は環境紹介で、各ベンチマーク結果は次回より。
■ベンチマーク環境
【サーバ環境】
【テーブル定義】
CREATE TABLE IF NOT EXISTS normal(`id` int(10) unsigned NOT NULL auto_increment,`name` varchar(64) NOT NULL default ”,`email` varchar(64) NOT NULL default ”,`password` varchar(64) NOT NULL default ”,`dob` date default NULL,`address` varchar(128) NOT NULL default ”,`city` varchar(64) NOT NULL default ”,`state_id` tinyint(3) unsigned NOT NULL default ‘0′,`zip` varchar(8) NOT NULL default ”,`country_id` smallint(5) unsigned NOT NULL default ‘0′,PRIMARY KEY (`id`),UNIQUE KEY `email` (`email`),KEY `country_id` (`country_id`,`state_id`,`city`)) ENGINE=innoDB; もしくは MyISAM;
※ENGINE(ストレージエンジン)はInnoDBとMyISAMの2種類で計測
【MySQL バージョン】
MySQL Enterprise Server 5.0.79 SP1 x86_64-glibc23
MySQL Enterprise Server 5.1.30 x86_64-glibc23
上記 2バージョンで計測
【MySQL 初期化パラメータ】 ※一部抜粋
skip-locking
key_buffer = 1250M
max_allowed_packet = 16M
table_cache = 1024
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 64
query_cache_size = 128M
query_cache_type = 0 (OFF)
thread_concurrency = 4
max_connections=1500
net_read_timeout=30
net_write_timeout=30
back_log=128
innodb_buffer_pool_size = 1250M
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 4M
innodb_thread_concurrency=8
sync_binlog=1
【計測方法】
5月 27
弊社では、JP1で障害監視を行うことも多いのですが、JP1から出力するテキストデータはコンピュータには優しくても人間に優しくないフォーマットなので、変換ツールを作ろうかと考えています。
しかし、その前にJP1に出てくる標準のリソースIDが、いったい何を示しているのか分からないといけません。
そこで、「付録C.1 JP1/PFM/SSOで収集できるリソース」からリソースIDと何のリソースかを紐づけるとyamlファイルを作ってみました。
何をしているか分かる人だけ自己責任で使ってください。(ファイルは、SJISです)
そういや、「redmineを動かそう」が、その2で止まってますね。そのうち書きますので、そちらもよろしく!
12月 01
前回は、「明日は、mod_railsことpassengerをインストールしてみます。」とか書いたのですが、mod_railsを入れるためには、gemが入っていないといけませんでした。
今日は、まず、それをインストールしたいと思います。
前回同様fedora developからsrc.rpmを取ってきましょう。
$ cd src/ruby/
$ wget http://ftp.iij.ad.jp/pub/linux/fedora/development/source/
SRPMS/rubygems-1.2.0-2.fc10.src.rpm
rpmbuildでリビルドします。
$ rpmbuild --rebuild ./rubygems-1.2.0-2.fc10.src.rpm
/usr/src/redhat/noarch/辺りにrpmファイルができているはずです。
$ ls /usr/src/redhat/RPMS/noarch/
rubygems-1.2.0-2.noarch.rpm
OKそうですのでインストールしましょう。
su - rpm -ivh /usr/src/redhat/RPMS/noarch/rubygems-1.2.0-2.noarch.rpm
入ったかどうか確認しましょう。gemコマンドを使ってみると分かります。
$ gem list
*** LOCAL GEMS ***
では、本題のmod_railsをインストールしましょう。
# gem install passenger
Building native extensions. This could take a while...
Successfully installed passenger-2.0.3
1 gem installed
Installing ri documentation for passenger-2.0.3...
Installing RDoc documentation for passenger-2.0.3...
# gem list
*** LOCAL GEMS ***
passenger (2.0.3)
今日はここまでとします。
次回は、mod_railsをビルドします。
11月 04
課題管理ツールって必要だと思います。
開発で使っているそうなので、インフラでも入れてみようと思います。
必要なもの
・ruby
・MySQL
・gem
・rails
・その他
インストールする環境
・CentOS 4.6
ま、とりあえずrubyから入れてみましょう。CentOSにデフォルトで入っているrubyは古いので入れ直しましょう。
rpmで管理できると便利ですね。ソースで管理すると面倒なので。
適当なrpmがありませんね。fedoraのdevelopmentから取ってきましょう。
http://ftp.iij.ad.jp/pub/linux/fedora/development/source/SRPMS/ruby-1.8.6.287-1.fc10.src.rpm
にしましょう。
wgetでダウンロードして、以下のコマンドでrpmバイナリファイルを作ります。
rpmbuild –rebuild ruby-1.8.6.287-1.fc10.src.rpm
エラー: Failed build dependencies:
libX11-devel is needed by ruby-1.8.6.287-1.i386
おお、CentOSには、libX11はありませんね。このrubyからはX(Tkなど)を使わないことにしてdepから削除しましょう。
コンパイルできたようです。
rpm -ivh /usr/src/redhat/RPMS/i386/ruby-*
でインストールします。
$ ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-linux]
$ irb
irb(main):001:0> print 1+1
2=> nil
問題ないようですね。
今日はここまで。
明日は、mod_railsことpassengerをインストールしてみます。
10月 27