タグ

チューニングとmysqlに関するGolgothaのブックマーク (16)

  • MySQLのindexチューニングまとめ|Around the World

    MySQLのクロスチェックもぼちぼち場数踏んできたのでIndexまわりのまとめ。 まず ・ストレージエンジンは必ず確認する。 →indexの構成も変わるし、できればどっちでも試験したほうが○。 ・InnoDBはプライマリキーの値がセカンダリに載ってる。 →MyISAMでプライマリ含んだ複合とか張ってるところはInnoだと省略できる。 ・InnoDBいいけどcountはMyISAMのほうが速い。 ・テーブルのデータ件数を想定する。 →多くなるとこはなるべくindex張りたい(テーブル分割も考慮せよ)。 ・InnoDBだったら可能な限りプライマリキーを使う。 →indexに実データが載ってる。 ・張りまくってもメモリうし、index作るの時間かかるのでよくない。 EXPLAINで確認するとき ・typeにALLかrangeがきたら要チェック。 ・ExtraにUsing filesort, U

    MySQLのindexチューニングまとめ|Around the World
  • InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ

    http://www.mysql-ucj2007.jp/details/j25.html 木下 靖文 氏 NTTコムウェア株式会社 プロジェクト管理統括部技術SE部門 DB技術グループ (「InnoDB」は「いんのでーびー」と言うらしい...今まで「いのでーびー」と言ってました) InnoDBをなぜ使うか トランザクション コミット、ロールバック、セーブポイント 外部キー 行レベルロック オンラインバックアップ クラッシュリカバリ クラッシュリカバリ MyISAMはデータ量の増大とともに時間がかかる InnoDBはデータ量の増大との相関がない InnoDBチューニングの王道的アプローチ クエリを改善して全体的に処理効率を上げる データサイズをできるだけ小さく メモリをできるだけ多く積む コミット性能(同期書き込み) innodb_flush_log_at_trx_commit=1,0,2

    InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • たった3秒でInnoDBのデータローディングが快適になるライフハック

    MySQLに限った話ではないが、データベース管理システムに大量のデータを投入するのは時間が掛かり大変苦痛を伴う作業である。劇的に効能があるわけではないが、MySQLを利用しているとき、特にInnoDBを使っている場合にはデータの投入を高速化するためにいくつかテクニックがあるので紹介しよう。皆さんの作業時間が短縮され、少しでも早く帰路に着いたりサービスインさせたりという形でお役に立てれば幸いである。ちなみに、タイトルはネタであるのだが、もし当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい! ログファイルサイズの調整データ投入時に限った話ではないが、ログファイルサイズを調整するのは更新性能にとって非常に重要なファクターである。バッファプールのサイズが重要なことに代わりはないが、同じぐらいログファイルのサイズも重要である。InnoDBはログファイルを使い切ってしまうと、バッファプール

    たった3秒でInnoDBのデータローディングが快適になるライフハック
  • MySQLのパラメータチューニングを助けてくれるツール

    【この記事の所要時間 : 約 2 分】 MySQLのパラメータチューニングの参考になるツールがある。それが、「MySQLTuner」である。このツールは、MySQLを診断して、いろいろアドバイスしてくれるプログラムである。 MySQLTunerを使ってMySQLを速くする MySQLTunerはMySQLを診断して、いろいろアドバイスしてくれるプログラム。perlスクリプトで提供されているので、簡単に実行できる。なおWindowsでは動かないらしい。 MySQLTunerでMySQLをチューニング MySQLのチューニングツールとして、以前のブログで「mMeasure」というのを紹介したが、あらたに「MySQLTuner」というツールを見つけたので紹介します。このツールは、シェル上からコマンドラインとして使うツールです。 その環境に合ったパラメータを提案してくれる。あんまり手間をかけたくな

    MySQLのパラメータチューニングを助けてくれるツール
  • さらにMySQLを高速化する7つの方法

    MySQLを高速化する10の方法という記事がとても好評だったようである。記事を読んで頂いた皆さん、ありがとう。 この記事に対する便乗(?)でWeb屋のネタ帳: PostgreSQLを高速化する16のポイントという記事を書いて頂いたようだが、そちらの方もかなり人気だったようである。他人が作ったソフトウェアに改良を加えるというフリーソフトウェアやオープンソースソフトウェアの精神も基は便乗であるので、便乗については大いに賛成したいというかむしろ取り上げてくれてありがとう!!と思うわけであるが、ここでさらに俺はこう考える。 と。 Web屋のネタ帳さんの記事では16のポイントが紹介されているが、漢(オトコ)のコンピュータ道の記事は10の方法だったのであと6つ足りない。オトコは数で勝負!!というわけで今日はネタを振り絞ってさらに7つのMySQL高速化テクニックを紹介しよう。 1. インテルコンパイラ

    さらにMySQLを高速化する7つの方法
  • 第5章 MySQL の最適化

    言うまでもなく、システムの速度を上げる際に最も重要な要素は基設計です。また、使用するシステムの用途およびそのボトルネックを認識しておく必要もあります。 最も一般的なボトルネックは下記のとおりです。 ディスクシーク。 ディスクが 1 つのデータを検索するには時間がかかる。1999 年の最新のディスクでは、通常これにかかる平均時間が 10 ms 未満であるため、理論的には 1 秒間に 100 のシークを実行できることになる。新しいディスクではこの時間の改善が緩やかで、1 つのテーブルの最適化が非常に困難である。これを最適化する方法として、複数のディスクにデータを分散することが挙げられる。 ディスクの読み取りと書き込み。 ディスクが適切な位置にある場合、データの読み取りが必要になる。1999 年の最新のディスクでは、1 つのディスクで約 10 - 20 MB の読み取りが可能になる。これは、複

  • MySQL/最適化/サーバパラメタ - Linux Tips

    ここでは、サーバパラメタの最適化によるMySQLのチューンについて紹介する。 _ パラメタのチェック 現在の設定値を確認するには、 # mysqld --help とする。 MySQL-5.xでは、 # mysqld --verbose --help としないと、確認できなかった。 あるいは、クライアントから、 mysql> SHOW VARIABLES; でもOK。 ↑ key_buffer_size † MyISAM テーブルのインデックスを保存しておくバッファの大きさ。サーバ全体で共有される。メモリに余裕があれば、MyISAMのみのMySQL専用サーバなら、RAMの1/2、Apache などと共用なら、RAM の1/4程度とする。ただし、サイズを大きくすると、OSのページングのために、逆に遅くなることもあるので注意。 set-variable = key_buffer=256M M

  • 【MySQLウォッチ】第14回 サーバー設定を見直してMySQLの性能を引き出す:ITpro

    今回は,MySQLのチューニングを解説する。この連載でもすでに一度,MySQLのチューニングを紹介したことがある(第8回 MySQLチューニングのテクニック)。このときは,SQLステートメントやテーブルそのものを高速化するためのテクニックを取り上げている。これは,サーバーの設定では,対応できない場合のテクニックだ。今回は,初心に帰る意味でも最初に検討すべき,サーバーの設定に関して取り上げる。 MySQLサーバーの状況確認 なぜ,今回このようなテーマを選んだかというと,MySQLをインストールしたままで使用しているユーザーがかなりいることに気が付いたからだ。MySQLは,他のデータベースと比較すると設定が少なくても高速に動作すると言われている。その手軽さが大きな魅力となっている。しかし,これは,小規模を前提にしている。大規模な処理を行うサーバーは,それなりに強力なスペックを持っている。このス

    【MySQLウォッチ】第14回 サーバー設定を見直してMySQLの性能を引き出す:ITpro
  • MySQL Performance Blog � What to tune in MySQL Server after installation

    Tuning For Your HardwareDepending on the hardware you have installed MySQL on, some variables need to be set based on the machine (or VM) specifications. The following variables are largely dependent on your hardware: innodb_buffer_pool_size Generally, set to 50% – 70% of your total RAM as a starting point. It does not need to be set any larger than the total database size.innodb_log_file_size Thi

    MySQL Performance Blog � What to tune in MySQL Server after installation
  • フツーな日常 - InnoDBを使うときのパフォーマンスチューニング

    ストレージエンジンとしてInnoDBを使うときはMyISAMのときと触るべきポイントが違うので注意。 http://www.mysqlperformanceblog.com/files/presentations/OSCON2004-MySQL-Innodb-Performance-Optimization.pdf を読みながら取ったメモ。状況としてはRedHat AS3.0で動かしたときのDBT2*1のパフォーマンスを改善していくというもの。MySQL デフォルト状態での分析 Handler_read_nextが多い、つまりrange scanかindex scanが多すぎる slow query logで何が悪いかを引っかける 例では2秒以上処理にかかったqeuryを記録するようにしている 結果を分析 update文が遅かったけど、update文そのままではexplainできないので、

    フツーな日常 - InnoDBを使うときのパフォーマンスチューニング
  • GIGAZINE - GIGAZINEのLoadAvarageを「27」から「2」へ下げた方法

    ここ3日間ぐらい超絶な重さだったのはサーバに物理的トラブルが発生したからではなく、単純に閲覧者数が満員御礼となり、各時間で倍増したためです。LoadAverageはひどいときで15分間の平均値「27.1」程度。瞬間最大風速だともっと高いです……明らかにまずい。 というわけで、Apacheのデフォルト設定で今までは大丈夫だったのですが、ついに高負荷サイト用の設定に変更せざるを得なくなりました。 そのため、実際に行った対処方法は以下の通り。1日30万PV近い動的サイトの高負荷を緩和させる方法として参考になれば幸いです。 まず大前提として、既にDNS逆引きや.htaccessの余計な読み込みなどは停止させていました。下記ページに書いてあることは実行済み。 @IT:Apacheパフォーマンス・チューニングの実践(1/2) この状態で負荷が15分平均で「27」になっていたわけです。 また、LoadA

    GIGAZINE - GIGAZINEのLoadAvarageを「27」から「2」へ下げた方法
  • mysql を高速化したいときに読むメモ (TechKnowledge)

    給料の振込口座として三井住友銀行に口座を持っています。自動支払いサービスを使用して光熱費等の公共料金の支払いをしていますが、先日それらの内の一つを失念してたことに気づきました。口座を確認した時にはすでに引き落としが完了していたため、手元の資金が心細くなった状態で数日を過ごさなければなりません。三井住友銀行で即日キャッシングが可能であれば、是非利用したいのですが。 運が良ければ、三井住友銀行の即日キャッシングは可能 三井住友銀行の特徴はまずクレジットカード会社との連携したサービスが魅力的なことがあげられます。キャッシングでは銀行カードローンですから、何より安い金利が大きい利点になります。概ね銀行系の審査に必要な時間は長くなるようですが、三井住友銀行ではカード発行が当日に行なってくれます。 三井住友銀行は即日キャッシングができるかと言うと微妙なことになります。申込から審査結果の連絡までは、土日

  • MySQLのスロークエリを分析する「MySQA」:phpspot開発日誌

    SourceForge.net: MySQA MySQA is a useful program to analyze log files created by MySQL slow queries or queries that don't use indexes. MySQLのスロークエリを分析する「MySQA」。 Javaで書かれているのですが、なかなか便利そうですね。 関連エントリ PHP5とMySQLで書かれたリッチなCMS「SilverStripe」 超・極める!MySQL -

  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • 1