EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。
dumpの性能試験をしようと思って、MySQLにダミーデータを作る方法を探していたのですが、あまりいい方法が思いつかず、#mysql-casualのチャンネルで聞いて見たところこんな感じになりました。 LOAD DATA INFILE@karupanerura さんから教えて頂きました。 最初にデータ作成すれば高速に動きそうです。 今回はテストしてないです >_ LOAD DATA INFILE 構文INSERTINTO hoge SELECT * FROM hoge; を繰り返す@fujiwara さんに教えて頂いた方法です。 試してみたところ、お手軽でした! スキーマ (pkeyなしというありあえないテーブルで試しています>_ 1280000 rows作るのに1分かかってないです! @fujiwara++ 追記 pkeyの重複が起こる場合は、insert into hoge (pkey
新規のMySQLサーバの設定をしていて、弊社に伝わる秘伝のタレ的なマニュアルを見ていたらこんな記述があった。 /etc/security/limits.conf編集 以下を追記 「* soft nofile 8000」 「* soft nofile 8000」コレって意味あるのかなぁとふと思ったので調べてみましたのでまとめ。 (ほとんど教えてもらった。@yoku0825++ @sh2nd++ @fujiwara++ @h141gm++) 結論から言うと、rootがmysqld_safeでmysqldを起動させる場合は意味をなさないということがわかりました。 もうこのマニュアルは捨てちゃおうと思いました。ひどい! ※本エントリは、MySQL5.5(InnoDB)、CentOS5.8環境下において検証しております。お使いの環境によってはオプション名などがそのまま当てはまらないことがありますので
前に RubyでMySQLに繋ぐためのruby-mysqlとmysql2 - tagomorisのメモ置き場 というエントリで書いたとおり、いまおそらく最もよく使われそうな mysql2 という ruby用のmysqlドライバにはprepared statementを扱うためのAPIがない。MySQLではprepared statementを使っても使わなくても速度に影響は無いらしい(後のtweet参照)し、O/R Mapperを経由しての使用がメインだから不要、という判断なのだろう。 (p19)MySQLの場合: PreparedStatementプール機能の利用有無は、性能にまったく影響しません・パラメータのバインド機構の利用有無は、性能にまったく影響しません / Microsoft PowerPoint - URL 2012-04-18 11:49:15 via Hatena しかし
このエントリは MySQL Casual Advent Calendar 2011 - MySQL Casual の10日目の記事です。 こんばんは。tagomorisです。さとしです。タゴモリスの s はさとしの s です(実話)。Twitterで #さとし というハッシュタグが流れるたび、ひそかにびくっとしてます。 RubyからMySQLに繋ぐときにどうするの、ととりあえず gem search -r mysql とかやると思います。そして大量にあれこれ出てきてどうすればいいんだ! という気分になると思います。そういう気分になったことがあるので、現状を簡単にまとめてみました。 ruby-mysql 昔からの定番ですね。作者は id:tmtms のとみたまさひろさん。rubygemsとか使われる前から Ruby/MySQL というライブラリ名で知られていました。Googleで検索するとト
What's newの頭に書かれているのに誰もやってなさそうなので遊んでみる。 遊んでみるとは言っても、$HOME/.my.cnfにuser=/password=で書くのとやってることは変わらない。 今まで平文で書くのが嫌で特にやってなかったけど、これならやっても良いかなーという風情。 http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html $ mysql_config_editor set --user=tpcc --password Enter password: <パスワード手入力> $ mysql_config_editor print --all [client] user = tpcc password = ***** とまあこの通り記録される。 何も指定しないとclientセクションに記録されるけれど、セ
チューニングの基礎 それでは、具体的にInnoDBでどこをチューニングするべきかを見ていこう。 バッファプール 最も基本となるのがバッファサイズの調整だ。ワーキングセットが全てバッファに収まらない限り、バッファプールは大きければ大きいほど良い。その分ディスクアクセスが減るからだ。バッファサイズが小さいと、キャッシュミス時にディスクからReadするのに時間がかかり、I/Oがボトルネックになってしまう。予算のある限りメモリを目いっぱい搭載し、バッファプールに割り当てよう。InnoDBのバッファプールは、innodb_buffer_pool_sizeオプションで設定する。利用可能なメモリは、他の処理に必要な分を除いたすべてをInnoDBのバッファプールに割り当てよう。 innodb_buffer_pool=32G ここで一つ注意がある。innodb_buffer_pool_sizeはバッファプー
thread_concurrency doesn’t do what you expect - MySQL Performance Blog Don’t try it. The problems with thread_concurrency are two: 1- It’s deprecated and removed on 5.6.1 http://bugs.mysql.com/bug.php?id=55001 2- It only works on old Solaris versions < 9 thread_concurrencyは同時スレッド数を設定するオプションで、たとえばOS waitsなんかが多いときに調整してやると良い感じになるんだけど、Solaris特有のもので、しかも5.6.1から廃止されるのでチューニングする必要ないよという内容らしい。 ちなみに、innoDBには
書こうと思ったときに少しでも記事書いたほうがよいと思い、とりあえず書いてみる。言葉にしてまとめていくこと大事。 いつも通り流れに任せて書くので、多分整理されてないかもしれない。。間違ってる箇所があったら指摘お願いします。 今回はmysqlのチューニング+スレッドの話です。 スレッドの基本的なチューニング my.cnfとかでmax_connection変数ってのがありますが、maxってのがついているおかげで、この値を500とか1000にすれば、その分だけmysqlが処理を行ってくれると思っちゃったりするかもしれない。多分昔の自分もそうだった気がする気がする。最大って言うぐらいだから、この値を設定しておけば問題ないみたいな。 でも、基本的にmax_connectionをいくら高めても、一秒間に処理できるクエリ(qps)はそこまで伸びない。多分、CPU利用率余ってたり、スレッド数にムラがあるのが
統計情報を取る † 定量的な情報収集のススメ mysql> show global status; (5.0.2以上の場合) mysql> show status; (5.0.2未満の場合) ↑ ファイルオープン数の調整 † 高負荷なときに以下のコマンドを実行 $ mysqladmin -u root -p extended-status | grep Open Enter password: | Open_files | 515 | | Open_streams | 0 | | Open_tables | 256 | | Opened_tables | 45281 | Open_files, Open_tablesの数が多い場合は /etc/my.cnf の以下を調整。この値が大きすぎると「Error in accept: Too many open files」エラーが発生し、MyS
「データベースが輝くとき、 システムに安定がもたらされる」 システムが不安定になりがちなこの世界 いにしえからの言い伝えが人々の間で まことしやかにささやかれ始めた 「不安定なシステムでは、 これ以上やっていけない」 データベースに光を取り戻すために、 立ちあがった1人がいた
MySQL情報 MySQLとは 主な機能 主な特徴 導入事例 類似ソフトウェア 商用製品との機能比較 動作環境 MySQLのライセンス 製品ダウンロード MySQL取り扱い製品 商用ライセンスの種類と購入方法 クラウド版 オープンソース年間サポートサービス MySQLとは MySQLとは、世界中で広く使われているオープンソースのデータベース管理システム(DBMS)です。 オープンソースのデータベースとして世界で最も普及しており、「性能(高速)」や「安定性」に定評があります。 1995年にTcX DataKonsalt社のMichael Widenius氏によって開発されて以来、多くのバージョンアップを繰り返す中で機能追加が行われ、現在では商用製品と比較しても遜色の無い機能を持っています。 MySQLはオープンソースですが、オラクル社によって、開発やソースコード管理が行われています。無償のコ
YAPC::Asiaのスライドで予告していた通り、実際に弊社のいくつかのサービスで使っている my.cnf を公開しました。 github: https://github.com/kazeburo/mysetup/tree/master/mysql 今回、公開した理由はMySQl Beginners Talksの発表の中でも触れている通りです。MySQLのソースコード中に含まれるサンプルのmy.cnfが最近のサーバハードウェアや運用に合わなくなって来ているという状況で、自分の設定にイマイチ自信が持てていない人は少なくないはず。そこで各社秘伝のタレ的な my.cnf をOpen & Shareすることで、モダンなmy.cnfを作り上げる事ができるんじゃないかという考えの下、今回 github にて公開しました。 ファイルは4つあり、それぞれ MySQL 4.0、5.1、5.5、そしてテスト中
MySQL 5.6の RC 版が出ましたね。魅力的な機能が満載で皆さんwktkしていることと思います。早速、個人的に気になっていた memcached plugin を試してみました。 最初に結論から言いますが、現時点 (5.6.7rc) では HandlerSocket の代わりに使えるようなものではなさそうです。 memcached protocol でアクセスできるのは全体で 1 テーブルのみ 訂正: namespace という仕組みで複数テーブルにmapが可能です テーブルの文字コードは latin1 である必要がある 【2012-11-22 追記】5.6.8RCでは、文字コードが latin1 であるという制限は撤廃されました 「MySQL のテーブルに memcached protocol でアクセスできる」というよりは、「memcached のストレージを InnoDB にで
MySQL 5.1で使ってたmy.cnfを試しに5.6で動くようにしたときの差分す。網羅的には調べてないんで他にも廃止になったパラメータはあるかもです。あくまで参考までに。 # log-binにパラメータ指定しないと怒られます -log-bin +log-bin = mysqld-bin # old-passwordsはオン、オフだけじゃなくて引数(0, 1, 2)が必須になって、引数の値によって挙動がかわります。 -old-passwords +old-passwords = 1 # これ指定しないと、リモートからのpre-4.1な認証方法で接続できないです +skip-secure-auth # これ指定しないと、pre-4.1な認証方法で接続できないです★下に追記あり +default-authentication-plugin = mysql_old_password # パラメー
MySQL5.0以前のバージョンでは、スロークエリログの閾値に1秒未満の値を設定できない。 設定しようとすると、エラーログを吐き、1秒にアジャストされてしまう。 mysql> set global long_query_time = 0; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> Bye [satoshi@studio3104 ~]$ tail -1 /var/log/mysql/mysqld.log 121002 13:56:14 [Warning] option 'long_query_time': unsigned value 0 adjusted to 1 調査目的で、"一時的にlong_query_timeを0に設定してすべてのクエリをスロークエリログに吐くようにして、mysqldumpslowでサマリーを取る"
Maatkitのmk-query-digestで定期的なMySQLのクエリ解析をやってみたのでメモ ※今はPERCONA Toolkitになっちゃったみたいですがそっちはまだ試してません! 参考にしたサイト 同じような記事はいっぱいあるので細かいところは書きません。 Maatkitについてはこのあたり インフラ系エンジニア勉強会 "hbstudy"でMaatKitについて発表してきました maatkitを一通り使ってみたメモ Maatkitでslow logを解析 tcpdumpとmk-query-digestの組合せについてはこのあたり Maatkitはtcpdumpを食べられる上,memcachedも咀嚼出来る tcpdump & xtrabackup @ MySQL Casual Talks #1 あとはperldoc mk-query-digest 解析結果のこと DBに結果を突っ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く