構成
[appサーバ] -> [lvs] -> [MySQL]群
- DRでMySQLのスレーブ群にロードバランス
- appサーバはDBコネクションのプーリング、永続化をしている
問題の現象
DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(netstat調べ)
→無用なコネクションが残留するせいで、MySQLのmax_connectionsに達してしまう。
原因
MySQLの世界の無通信時のコネクションの …
[さらに読む]
JUGEMテーマ:コンピュータ
モダンなサーバで力を発揮するMySQL 5.1 + InnoDB Plugin !
これまで多くのブログで紹介されてきました。
・MySQL 5.1.38リリース InnoDB Plugin追加!(SH2の日記)
・InnoDB
Pluginことはじめ。快適ストレージエンジン生活はじまる!(漢のコンピュータ道)
・MySQL 5.1.46リリース InnoDB Pluginが正式版に(SH2の日記)
InnoDB Pluginはその後もバグの修正・パフォーマンスの向上を継続しており、最新版はMySQL …
Spiderストレージエンジンのバージョン 2.25(beta)とVartical Partitioningのバージョン
0.14(beta)をリリースしました。
Spiderストレージエンジンは、database sharding用のストレージエンジンです。
http://spiderformysql.com/
Vertical Partitioningストレージエンジンは、テーブルのVertical
Partitioning用のストレージエンジンです。
http://launchpad.net/vpformysql
今回の主な変更は以下です。
Spider
・テーブルパラメータに「skip_default_condition」「direct_order_limit」を追加しました。
・サーバパラメータに「spider_skip_default_condition」「spider_direct_order_limit」を追加しました。
「direct_order_limit」を利用すると、order …
UTF-8 文字列中に UTF-8 として正しくないコードが入っていた場合に、その文字を「?」などに置き換えたいことがあります。
たとえば MySQL に登録するときは不正な文字を消しとかないと、その文字以降すべて消えてしまいます。
mysql> insert into t (c) values (0x414243FF58595A); Query OK, 1 row affected, 1 warning (0.06 sec) Warning (Code 1366): Incorrect string value: '\xFFXYZ' for column 'c' at row 1 mysql> select * from t; +------+ | c | +------+ | ABC | +------+ 1 row in set (0.00 sec)
ということで、Ruby では Iconv を使ってこんな感じで対処してます。
require 'iconv'
def sanitize_utf8(str)
ret = ''
i = Iconv.open(' …[さらに読む]
NSEG14 に参加しました。
はじめはそのつもりはなかったんですが、枠が空いてたので発表することにしました。急遽決めたので、当日の15時すぎまでスライド作ってました。
今回は、つい最近 MySQL の文字コードまわりでハマったので、それをネタにしてみました。ま、知ってる人にとってはどうってことない話ですが。
Mysqlの文字コード View more presentations from Masahiro Tomita
べっ・・・別にソースコードなんて自分でコンパイルしないんだからねッ!!などと言わずにまず聞いていただきたい。30秒でMySQLのコンパイルが出来るというこの事実を。最近、細々とビルド時間の短縮に取り組んでいたのだが、正直ここまで爆速になるとは思わなかった。今日はビルド時間短縮のためのテクニックを紹介するので、是非皆さんも参考にして、快適ビルド生活を送って頂きたい!!
自己ベストは26.262秒マシンの状態や負荷の状況によって多少ビルドにかかる時間は前後してしまうのだが、これまでの自己ベストはなんと26.262秒。平均すると30秒ぐらい。以前は1分を切ることがなかったのだが、今ではなんとその半分でビルドが出来てしまう。これは純粋にmakeをするのにかかった時間であり、cmake(MySQL …
[さらに読む]MySQL の collation について調べてたら、
今回の実験で、utf8_unicode_ciによる大文字-小文字や全角-半角の同一視に
関する動作はなんとなく分かりましたが、どの文字が同一視されるのかを記載した資料ってあるのだろうか?
http://d.hatena.ne.jp/end0tknr/20100613/1276427626
という記事を見かけたので調べてみました。
MySQL の マニュアルによると UCA というアルゴリズムを使用しているようです。
MySQL implements the xxx_unicode_ci collations according to the Unicode Collation Algorithm (UCA) described at http://www.unicode.org/reports/tr10/. The collation uses the version-4.0.0 UCA weight keys: …
[さらに読む]
米サンタクララで開催されている MySQLカンファレンスについて、先日、公開資料を色分けしただけのチラ見せのエントリを書きました。
これは、個人的興味から、手元のExcelで色分けをしてみたもので、決して出し惜しみで画像だけをチラ見せしたわけではないのですが、やはりリンクになっていたほうが便利ですよね。
ということで、タイムテーブル形式のリンク集を作りました。
前回のエントリではMySQL 5.6の新機能についてレビューを行ったが、MySQL User Conferenceに合わせる形でMySQL Clusterの新しい開発版であるバージョン7.2も発表された。一見すると追加された新機能の数は少なくMySQL 5.6ほどのインパクトはないが(というかMySQL 5.6の新機能がありすぎなわけだが)、実は7.2ではMySQL Clusterにとって非常に重要な改善がなされているのだ!
というわけで、今日はMySQL Cluster 7.2の新機能を紹介しよう。 JOINの性能が改善!まず最初に最も重要なことについて述べよう。MySQL Cluster 7.2ではJOINの性能が改善している。非常に大切なことなのでもう一度言おう。MySQL Cluster 7.2ではこれまで最大の弱点であったJOINの性能が改善している!
MySQL