タグ

MySQLとperformanceに関するm4iのブックマーク (18)

  • チューニンガソン5の復習 MySQL 5.5 チート編&勉強会のお知らせ - SH2の日記

    ゼロスタートの@zakiさんを中心に企画、運営されているチューニンガソンというイベントがあります。指定された環境を用いてOSやサーバ周りのチューニングを行い、性能を競うというものです。2013年1月に行われた第5回ではMySQLがテーマだったということで、日はこれの復習をしていこうと思います。 【レポート】いろいろチューニングしてパフォーマンスを競うバトルイベント!「Tuningathon」第5弾! #tuningathon : ゼロスタートの広報ブログ 2013年最初のチューニンガソンはMySQL!――第5弾! いろいろチューニングしてパフォーマンスを競うバトルイベント「チューニンガソン」レポート:レポート|gihyo.jp … 技術評論社 Tuningathon#5 - Togetter しばらく真面目にチューニングしていたのですが思いのほか難しかったので、今回はちょっとズルをして優

    チューニンガソン5の復習 MySQL 5.5 チート編&勉強会のお知らせ - SH2の日記
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • さらにMySQLを高速化する7つの方法

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

    さらにMySQLを高速化する7つの方法
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2008/06/friends_timeline.php

  • 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ノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • ウノウラボ Unoh Labs: MySQL5からのインデックス結合で1テーブル複数インデックスを使う

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: MySQL5からのインデックス結合で1テーブル複数インデックスを使う
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • http://www.mysql.gr.jp/Manual/mysql-3.21.31/manual_Performance.html

  • ハードウェア増設 - shinno(鈴木慎之介)の日記

    開発者ブログでもかかれてますが、日5/11にハードウェア増設を行いました。実は今月の増設は3フェーズに分けて実施しており、今回はその2フェーズ目を行いました。ざっと書いてみます。 フェーズ1. 検索DB分離 + sennaバージョンアップ 先日の勉強会でもお話したとおり、日語全文検索を実現するにあたって senna を利用しています。そのsennaのバージョンが昨年のとある古いバージョンだったということもあり、稀にインデックスファイルが破損する既知のリスクを孕んでいたため、その問題が解決された新しいsennaと、最近sennaとは独立して開発が行われているMySQLバインディング tritonn への変更をあわせて行うことにしました。また、以前からの運用に当たって、障害の切り分けや、検索の負荷の分離をしたかったため、新しくハードウェアを用意することにしました。この増強によって既存のDB

    ハードウェア増設 - shinno(鈴木慎之介)の日記
  • MySQL 5 の場合はmytopよりinnotopのほうがいいかも - (ひ)メモ

    MySQLのモニタするのに便利なmytopなんですが、MySQL 5に対して使うと、クエリの割合表示が全部ゼロになってしまったります。 これは、MySQL 5.0.2でSHOW STATUS文が変更され、GLOBALかSESSIONというオプションを指定できるようになったことに起因します。このオプションを省略した際はSESSIONを指定したときと同じ動作となり、SHOW STATUS文で得られるのは自分自身の接続についての情報のみとなります。 mytopはオプションなしのSHOW STATUS文を使っているので、MySQL 5ではmytop自身の接続についての情報しか得られず、その影響として、クエリの割合表示が全部ゼロになってしまったりするわけです。 対応は簡単で、mytopのSHOW STATUSをSHOW GLOBAL STATUSに書き換えればいい(書き換えるとMySQL 4.1以前

    MySQL 5 の場合はmytopよりinnotopのほうがいいかも - (ひ)メモ
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

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

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • mysql を高速化したいときに読むメモ (TechKnowledge)

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

  • MySQL負荷分散のまとめ - Life on the net

    はてぶで人気エントリーになっていた、 http://kokoromo.jugem.cc/?eid=195 [MySQL:1台しかない環境で負荷分散] これは負荷分散=スケールアウトというよりは一台でスケールアップしてしのぐ手段を書いてい。 だから負荷分散という言葉は必ずしも正しくないのだが、一つのテーブルへの付加集中を分散させるという事なのだろう。 そこで何パターンかあるMySQLの負荷分散を簡単にまとめてみる。 1. 富豪的分散 商用のクラスター製品を使う。 最近はMySQL専門のクラスター製品が出てきている。 http://www.continuent.jp/pro.html なんかは良いかなと思う。 長所: プログラム側ではクラスタ状態を何の意識もせず、一つのターゲットに対してクエリーを発行すれば良い。 ターゲットが複数台ある事は意識する事は無い。 不具合があるノードに生じた場合、他

    MySQL負荷分散のまとめ - Life on the net
  • [ぴ] - ライブドア 次世代テクノロジーセミナー

    _ [システム運用] ライブドア 次世代テクノロジーセミナー わざわざ午後半したのに退社するのが遅れたり家に財布忘れたりで20分遅刻。 色々抜けがあるけどとりあえずざっくりとメモ。 使ってる OS はほとんど (9割方) FreeBSD 4、一部 Turbolinux 8 ・FreeBSD 4.x (5.x は Perl の扱いが…) ・Apache 1.3 (2.0は mod_perl の互換性が…) ・MySQL 4.0 (4.1は日語の取り扱いが…) ・Perl 5.8 (これだけは最新の Stable でも問題ない)ライブドアは延べ13人の CPAN Author を輩出 (でも今残ってるのは3人だけ)オン・ザ・エッジ (後にエッジに改名) の頃は Total Internet Solution というキャッチで、主に Web サイト構築の受託。この中で、フレームワーク Sled

    [ぴ] - ライブドア 次世代テクノロジーセミナー
  • koyachiの日記 - Flickrの中のヒトのLAMP構成プレゼン(Hardware Layouts for LAMP Installations)訳

    del.icio.us見てたら面白いファイルがあったので訳しながらはてな記法ワープロでメモったものを公開します。2005/10/18-25に行われたZend/PHP Conference & ExpoにてFlickrのJohn Allspaw氏が発表されたプレゼンの内容のようです。英語読めるヒトは物のほうをご覧ください。そもそもプレゼンなので長文はほとんどないし、図も入ってるので。天丼に親近感を覚えました。 あと はてな記法ワープロいいですね。ついでにはてな記法なプレゼンツールも是非作ってください!!! 普通にSQL書いてMySQL使うのは出来るけど負荷とかほとんど考えたことないなーと思って「実践ハイパフォーマンスMySQL」読んでたところでhttp://del.icio.us/tag/flickr+mysqlあたりで見つけました。「実践ハイパフォーマンスMySQL」だと6章から9章辺り

    koyachiの日記 - Flickrの中のヒトのLAMP構成プレゼン(Hardware Layouts for LAMP Installations)訳
  • 1