タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

performance-engineeringとdatabase-tuningとrdbmsに関するnabinnoのブックマーク (6)

  • 高負荷環境でDBが直面する問題とは?PHPとMySQLの TCP TIME-WAIT チューニング(前編) | さくらのナレッジ

    サンプルサーバーのパケットフィルタは最初は以下の内容で設定し、セキュリティを確保しています。 tcp 22 はプライベートLANからの受信のみ許可 tcp 3306 は 153.127.195.113 のappサーバーだけに公開 tcp 80 は公開 tcp, udp の 32768-61000 はアウトバウンド通信の戻りパケット用に許可 ストリーミングのフラグメントパケットは公開 ip は基拒否 また IP アドレスを打たずにホスト名でアクセス出来るように /etc/hosts に以下のエントリを追加しました。 153.127.195.113 app 153.127.203.176 db MySQLクライアントで接続して TCP の状態を観察 ここから実際にサーバーを動かして、その挙動を観察していきます。db サーバーに db1 データベースを作成し、アクセスユーザー user1 を追

    高負荷環境でDBが直面する問題とは?PHPとMySQLの TCP TIME-WAIT チューニング(前編) | さくらのナレッジ
  • Rails: PostgreSQLのマイグレーション速度を改善する(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Better Database Migrations in Postgres 公開日: 2017/09/10 著者: Craig Kerstiens サイト: http://www.craigkerstiens.com/ データベースが成長してスケールするに連れ、気を遣わなければならない点が当初とは変わってきます。アプリをdev環境で動かしているうちは気にもかけていなかった操作コストを、production環境でがっつりと支払うはめになったりします。私たちの多くがやらかしてしまうのが、たとえばマイグレーションです。production環境でマイグレーションの起動に5分、それから15分間動き続けたまではよかったのですが、突然トラフィックに問題が生じたりします。 こういう事態を引き起こしがちな操作は2つありますが、どちらについてもダウ

    Rails: PostgreSQLのマイグレーション速度を改善する(翻訳)|TechRacho by BPS株式会社
  • MySQLパフォーマンスチューニング -クエリキャッシュ適用状況の確認- - Qiita

    花粉真っ盛り。 もれなく花粉症MAXな日々を過ごしております。 まみーです。 前回のエントリーからの続きになります。 MySQLパフォーマンスチューニング -my.cnfの見直し- 今回は、前回の設定結果の中から、クエリキャッシュの効き具合を測定・検証していきます。 概要 my.cnf に設定した内容のうち、クエリキャッシュについて検証します。 前回の設定変更から1週間経過した時点での値の比較となります。 目的 設定されていなかったクエリキャッシュが適切に効いているのかを検証し、設定が妥当かどうか判断します。 問題点 サービスの運用上、以下の問題点があります。 変更できない テーブル構成 リクエストごとに増え続ける ログレコード 必要な リアルタイム検索機能 状況 クエリキャッシュ設定前の状況は以下でした。 リアルタイム検索を 複数実行するとサーバーが落ちる 1プロセスでも 応答に30秒

    MySQLパフォーマンスチューニング -クエリキャッシュ適用状況の確認- - Qiita
  • MySQLパフォーマンスチューニング -my.cnfの見直し- - Qiita

    ※RDSは使っていません。 負荷を見てみる DBサーバーの負荷状況を見てみます。 当時の監視ツールの画像がないのですが、以下の状況でした。 LA(Load Average)が突き抜けている リクエスト数は「常識的に考えて」それほどでもない メモリの使用量にあまり変化がない swapはしていない ストレージ容量を結構っている WEBサーバーから見れば、処理待ちのままプロセスが処理されていない典型的なパターンだったと思います。 DBサーバーとしては、LAに対し、メモリの使用量があっていないように思われました。 仮説 上記の状態から、仮説を立てます。 スロークエリ が頻発しているのではないか メモリ が正しく割り当てられていないのではないか 各種ログ の設定が適切ではないのではないか 仮説を検証することで、対策をしていきます。 設定を見直す 上記の仮説の設定は、MySQLの設定ファイルである「

    MySQLパフォーマンスチューニング -my.cnfの見直し- - Qiita
  • MySQLのリアルタイムモニタリングに「innotop」

    innotopとは 「innotop」はMySQLのクエリー実行状況やステータス変数の変化などをtopコマンド風に出力してくれる、Perlで書かれたスクリプトです。中身は非常にシンプル(SHOW GLOBAL STATUSやSHOW ENGINE INNODB STATUSなどをパースして表示するだけ)ですが、 topライクなインターフェイスはリアルタイムモニタリングと相性が良く、非常に直観的でわかりやすい情報を提供してくれます。 筆者はこれを「稼働中のサービスにALTER TABLE(またはpt-online-schema-change)をかける際の負荷モニター」や「MySQLが高負荷状態になっている時の状況確認」などによく利用しています。いかにもtopコマンドと同じような使い方です。 innotopの開発とメンテナンス innotopの立ち位置は少し微妙です。innotopはかつてPe

    MySQLのリアルタイムモニタリングに「innotop」
  • スロークエリの分析 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 スロークエリ (時間のかかるSQL) を発見するまでの手順を解説します。スロークエリ分析と改善は以下の流れで行うことになります。この記事では主に 1. のスロークエリの特定方法について解説します。2.については『スロークエリの改善』を参考にしてください。 どのSQLが遅いのかを見つける。 そのSQLがなぜ時間がかかるのかを判断する。 設定パラメータ、SQL、スキーマなどを改善する。 着目したSQLの性能を再測定し、2. から繰り返す。 着目したSQLのチューニングが完了したら、他のボトルネックを探すため 1. から繰り返す。 スロークエリの見つけ方 スロークエリを見つけるには、大きく分けて統計情報ビューを使う方法と、サーバログを使う方法の2つがあります。統計情報ビューを使う方法は PostgreSQL 8.4 以降でしか利用できませんが

  • 1