タグ

MySQLに関するjinjin252525のブックマーク (120)

  • mysqlのMax_used_connectionsが上限になったので、ついでにパラメーターの調整をしてみた

    ガリレオスコープ開発チームによる �最新Web動向、技術メモ ( Ruby, Rails, node.js ) です mysqlのconnection数はデフォルトでは100になっています。 メンテナンスの際にNavicatで接続すると、 ERROR 1040 (00000): Too many connections とのエラーが。。これは、アカンということで、パラメーターの調整を行いました。 下記を参考にしました。 http://satospo.sakura.ne.jp/blog_archives/tech/linux_server/mysql4_tune.html 現在の状態の把握とりあえず、今どうなっているか分からないので、確認用のコマンドを叩きました。 $ mysqladmin -u root extended-status | grep -E 'Max|Threads' | M

    mysqlのMax_used_connectionsが上限になったので、ついでにパラメーターの調整をしてみた
  • MySQLTunerでMySQLのチューニングを診断する方法

    https://github.com/rackerhacker/MySQLTuner-perl MySQLTunerはMySQLのチューニングを診断してくれるアプリケーションです。 基的なパフォーマンスチューニングのヒントをわかりやすく表示してくれます。 MySQLのチューニング設定に不安な方や、はじめてMySQLをさわる方は試してみると良いでしょう。 ライセンスはGNU GPLで無料で使えます。 検証環境 CentOS 6.3(64bit) MySQL 5.5.28 MySQL 5.5をインストール MySQL 5.5をインストールします。 # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86

    MySQLTunerでMySQLのチューニングを診断する方法
  • MySQLのメモリ関係のシステム変数 - 祈れ、そして働け ~ Ora et labora

    概要 MySQLのメモリ関係のシステム変数について、まとめてみました。 構成 MySQL Ver 14.14 Distrib 5.5.14, for Linux (x86_64) using EditLine wrapper メモリサイズの見積もり はじめに、MySQLのプロセスが必要とするメモリサイズの見積もり方法を確認します。 必要なメモリサイズ = グローバルバッファのサイズ +(スレッドバッファのサイズ × 最大同時接続数)グローバルバッファのサイズは以下の方法で計算します。 max_heap_table_sizeは必ずしも割り当てられる訳ではありませんが、安全側に倒すため、計算に含めています。 グローバルバッファのサイズ = key_buffer_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size +

    MySQLのメモリ関係のシステム変数 - 祈れ、そして働け ~ Ora et labora
  • MySQLでInnoDBの設定値から必要なメモリ量を算出するスクリプト – ハック|無料グループウェア「アイポ」

    MySQLでInnoDBの設定値から必要なメモリ量を算出するスクリプト 2014年1月22日 タグ: grep, Innodb, linux, mysql, メモリ InnoDBを使用している時にMySQLが必要とするメモリ量は下記の値と言われています。 innodb_buffer_pool + key_buffer + max_connections * (sort_buffer + read_buffer + read_rnd_buffer) + max_connections * stack_size この値をMySQLのShow Variablesコマンドで得られる結果から算出するスクリプトです。 一度サーバー側でShow Variablesを発行しますので、運用中のサーバーで 実行する場合はご注意ください。 #!/bin/sh MYSQL="mysql -uroot -pXXXX

  • 第2回 ioDrive+MySQL勉強会の資料まとめ

    マイクロソフトは、IEを擬人化したマスコットキャラ「藍澤祈」のPVを発表しました。PVの内容は「つづく」の文字が出てくるなど、日のアニメを意識したつくりとなっております。 また、Facebookページなども既に存在しているようです。 ・A...

    第2回 ioDrive+MySQL勉強会の資料まとめ
  • InnoDBのログとテーブルスペースの関係

    InnoDBのデータ領域はログファイルとテーブルスペースという、切っても切れない2種類のファイルから構成されている。ログファイルは名前からするとただのログだから削除しても平気かな?と思って削除してしまうという問題が後を絶たない。そこで、今日はログファイルとテーブルスペースの関係について説明しようと思う。 InnoDBのログファイルは、別名WAL - Write Ahead Logと呼ばれるもので、名前を日語に直すと「前もって書き込んでおくためのログ」とでも呼べるだろうか。InnoDBのテーブルに対して行われた更新は、全ていったんログに書き込まれるのである。トランザクションがコミットされると、innodb_flush_log_at_trx_commit=1が設定されていればログファイルに書き込みが行われる。0または2の場合には、ログバッファと呼ばれる領域にデータが保持される。その後、時間を

    InnoDBのログとテーブルスペースの関係
  • 基本に戻ってInnoDBの話をします

    InnoDBの特性など考慮しつつ、ゲーム向けのDBSQLを設計する上でのヒントや、注意するポイントなどです。

    基本に戻ってInnoDBの話をします
  • SSSSLIDE

    SSSSLIDE
  • MySQL Cache メモ - Qiita

    メモと言う名のコピペ ちょっと古い、5.1 だけど日語ドキュメントがそこしか無かったのと、英語読む気力ないけど、とりあえずめも 動作とかごにょごにょ クエリ キャッシュは、SELECT SQL_CALC_FOUND_ROWS ... のクエリで動作し、後続する SELECT FOUND_ROWS() クエリで返る値を格納します。FOUND_ROWS() は前のクエリがキャッシュからフェッチしていても、正確な値を返します。これは、検索したレコードの数をキャッシュで保管しているためです。SELECT FOUND_ROWS() クエリ自体はキャッシュの対象ではありません。 クエリをキャッシュする設定である場合、その結果 (クライアントに送信したデータ) を、結果の読み出し中に、クエリ キャッシュに格納します。そのため、データの扱いは、ひとまとめではありません。つまり、クエリ キャッシュで、デー

    MySQL Cache メモ - Qiita
  • InnoDB buffer ヒット率 - fixers's diary

    2012-12-28 InnoDB buffer ヒット率 Oracleだとバッファのヒット率は試験にも出てくるくらい有名なので 計算方法はすぐに見つかります。ですがMySQLのInnoDB Bufferヒット率の計算方法はなかなか書いていないです。 ただ、munin/cacti/nagiosにもInnoDB bufferヒットのpluginがあるようなので (nagios)http://labs.consol.de/lang/en/nagios/check_mysql_health/ それなりに意味はあるものだと思っています。ちょっと指標的には違うので、Oracleほど重要視されていないのか みんな気にしていないのかは不明です。まず計算方法から。 InnoDBのことと言えばshow engine innodb statusのメモリ部分を見ればわかると 思う場合が多いようです

  • Devsの常識、DBAは非常識

    AWS Summit Tokyo 2016 Developers Conferenceにて発表した資料です。 http://www.awssummit.tokyo/devcon/index.html

    Devsの常識、DBAは非常識
  • MySQLをインストールしたら、必ず確認すべき10の設定 | Yakst

    MySQL Performance Blogの翻訳。インストール後に必ず設定を確認しなければならない設定パラメータ10つを挙げ、その意味を解説する。MySQLの設定変更時の、一般的な注意点も合わせて。 January 28, 2014 By Stephane Combaudon 我々がパフォーマンス監査の仕事をする時には、MySQLの設定のレビューと改善提案を求められる。大抵の場合、たくさんのオプションがある中でほんのいくつかの設定しか変更するように提案しないことに、多くの顧客は驚く。この記事のゴールは、もっとも重要な設定をいくつか挙げてみることにある。 既にこういった提案は過去にもしているが数年前のもので、それ以来MySQLの世界ではたくさんの変化があったのだ。 話の前に 熟練した人でも、重大なトラブルを引き起こすミスをしでかすことがある。従って、ここに挙げたものを盲目的に適用する前に、

    MySQLをインストールしたら、必ず確認すべき10の設定 | Yakst
  • MySQL InnoDBストレージエンジンのチューニング(後編)

    チューニングの基礎 それでは、具体的にInnoDBでどこをチューニングするべきかを見ていこう。 バッファプール 最も基となるのがバッファサイズの調整だ。ワーキングセットが全てバッファに収まらない限り、バッファプールは大きければ大きいほど良い。その分ディスクアクセスが減るからだ。バッファサイズが小さいと、キャッシュミス時にディスクからReadするのに時間がかかり、I/Oがボトルネックになってしまう。予算のある限りメモリを目いっぱい搭載し、バッファプールに割り当てよう。InnoDBのバッファプールは、innodb_buffer_pool_sizeオプションで設定する。利用可能なメモリは、他の処理に必要な分を除いたすべてをInnoDBのバッファプールに割り当てよう。 innodb_buffer_pool=32G ここで一つ注意がある。innodb_buffer_pool_sizeはバッファプー

    MySQL InnoDBストレージエンジンのチューニング(後編)
  • MySQL InnoDBストレージエンジンのチューニング(前編)

    連載では、3回にわたってチューニングの要であるオプティマイザについて説明してきた。オプティマイザは論理的な表現であるクエリを物理的にどう処理するかということを決めるRDBMSの心臓部であると言える。しかしながら、人体が心臓だけで機能しないのと同じように、RDBMSもオプティマイザだけで成り立つわけではない。実際に手足となりデータを操作するのはストレージエンジンだ。今回は、MySQLの代表的な(実質的にはデファクトスタンダードの)ストレージエンジンであるInnoDBの基的なチューニングについて解説しようと思う。クエリのチューニングとは全くストラテジーが異なるので、これまで連載を読んで頂いている方は、ここで頭を切り替えて欲しい。 InnoDBを使おう! もし稿を読まれている方で、特に明確な意味もなくまだMyISAMストレージエンジンを使ってらっしゃるという方には、全力でInnoDBをオス

    MySQL InnoDBストレージエンジンのチューニング(前編)
  • 当たって砕け散れ [mysql]SQL文遅くないですか? の確認。

    「当たって砕けろ」どころでなく、砕け散ってしまうぐらいにアツく!! とにかく何かに手を出してみた際の雑記です。『雑記 時々 プログラミング』 ■試しにSQL文を実行してみる。 SQL_NO_CACHE を使って、キャッシュに乗らないようにしてから実行しましょう!! (超大事) [使い方] select hoge from hogehoge; ↓ select SQL_NO_CACHE hoge from hogehoge; selectの後にSQL_NO_CACHEを入れてsql文を発行する。 ■実行計画を取ってみる。 EXPLAINコマンドを使って、実行計画を見てみましょう。 [使い方] select hoge from hogehoge; ↓ EXPLAIN select hoge from hogehoge; select文の先頭に、EXPLAIN コマンドを付加してSQL文を発行。

  • MySQLでクエリキャッシュする方法

    このドキュメントの内容は、以下の通りです。 はじめに クエリキャッシュの設定が 0 の場合 クエリキャッシュの設定の確認方法 キャッシュサイズの設定 キャッシュのステータス my.cnfでの設定 クエリキャッシュでのSELECTのオプション はじめに MySQLのクエリキャッシュとは、SELECTステートメントのテキストを結果と合わせ格納します。 後で同じクエリを受け取ったときに、クエリの解析と実行をせずに、 クエリキャッシュから結果を取り出し、クライアントに返します。 同じクエリが何度も実行される環境では、クエリキャッシュが役に立ち、パフォーマンスが向上します。 クエリキャッシュの設定が 0 の場合 query_cache_size が 0 の場合は、 クエリキャッシュを無効になります。 query_cache_size=0 クエリキャッシュの設定の確認方法 クエリキャッシュの確かめ方を

  • InnoDBのロールバックがあとどれくらいかかるかをなんとなく見積もる | GMOメディア エンジニアブログ

    こんにちは、DBAのたなかです。 MySQLに向かってテキトー(またはテキトーでない)な更新クエリーを放り投げたは良いけれど、なかなか返ってこなくてCtrl+Cで停止したり、killステートメントでスレッドを殺したり、もしくは流れ終わったけど想像通りにいかずにROLLBACKしたり。そんな経験ありませんか? 私はあります。というかこの記事書いてるという時点で何かを察していただけるとありがたい。 Undoセグメント(デフォルトではibdata1上にある)からデータを引っ張りだしてバッファプール上に展開する以上、InnoDBのロールバックはまあそれなりに重いわけで、というか更新そのものよりもロールバックの方がよっぽど重い。 それは重々承知の上なんだけれど、ロールバックしてる時というのは往々にして「動け! 動け! 動いてよ! 今動かなきゃ、今やらなきゃ、みんな死んじゃうんだ!」状態になっているの

  • MySQLのIOキャパシティについて : しがないエンジニアのつぶやき

    うちの会社でも、IO-Drive2やSSDを使用したサーバが増えてきた。 ディスク性能が良いサーバがあっても、MySQL側がボトルネックになっていたら宝の持ち腐れになってしまう。そこで、MySQLで制限されている一つにinnodb_io_capacityというものがあるのでこの設定について考えてみたいと思う。 そもそもMySQLがディスクI/Oを必要とする処理はどのようなものがあるか考えてみよう。 ・キャッシュされていないDBデータへのアクセスが発生した時。 ・更新されたダーティページがディスクへフラッシュする時。 ・エラーログが出力される時。 ・バイナリログが出力される時。 ・スロークエリログが出力される時。 ・トランザクションログが出力される時。 ・表やDBの定義や作成等でテーブルスペースの更新が発生した時。 他にもあると思うが、I/O処理にはフォアグランド、バックグラウンドの2種類が

    MySQLのIOキャパシティについて : しがないエンジニアのつぶやき
  • MySQL 5.6 パラメータ検討会 - SH2の日記

    7月29日にMyNA(日MySQLユーザ会)会 2013年7月が行われ、Oracle ACE Directorの@sheeriさん、MyNA会長の@tmtmsさんに混ざって発表をしてきました。運営のみなさま、当日お越しいただいたみなさま、いつもありがとうございます。 Performance Schema - Sheeri Cabral (PDF) MyNA会2013年7月 に行って来ました - MySQLのプロトコル解説 - @tmtms のメモ 今回は@yoku0825さん、@yyamasaki1さんがライトニングトークをされました。@yoku0825さんアイスごちそうさまでした。 日々の覚書: MyNA会2013年7月に行ってきました 5分で作るMySQL Cluster環境 私は発表内容について懇親会でいろいろ宿題をもらってしまい、しばらく復習をしていました。ようやく修正が終わりま

    MySQL 5.6 パラメータ検討会 - SH2の日記
  • MySQL 5.6 パラメータ 検討会

    1 MySQL 5.6 パラメータ検討会 MyNA(日MySQLユーザ会)会 2013年7月 2013/07/29 平塚 貞夫 2013/08/06 Revision 2 2 自己紹介 • DBエンジニアやってます。専門はOracleMySQL。 – システムインテグレータで主にRDBMSのトラブル対応をしています。 – 仕事の割合はOracleMySQL:PostgreSQL=5:3:2ぐらいです。 • Twitter:@sh2nd • はてな:id:sh2 • • 写真は実家で飼っているミニチュアダックスのオス、アトムです。 3 日のお題 4 MySQL 5.6のパラメータ検討 • MySQL 5.6にはさまざまな新機能が追加され、パラメータ数が大幅に増えました。 • SHOW GLOBAL VARIABLESの項目数で100個以上増えています。 – MySQL 5.5.31: