カテゴリー: チューニング

開発, 障害対応, MySQL, チューニング

performance_schemaでのロック待ち、スロークエリ分析

    引用元 https://zenn.dev/hiro1111/articles/performance_schema   ステートメント分析 最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。   待機イベント分析 データベースの待機イベントを …

チューニング, Linux

Nginx+PHP-FPMチューニング worker_connections are not enough while connecting to upstream

  環境 Ubuntu AWS EC2   worker_connections are not enough while connecting to upstream JMeterで負荷をかけたら、エラーがでた。確認したところほぼデフォルトのサーバであった。 チューニングしていく   接続ソケット数を増やす   # sysctl net.core.soma …

チューニング

ロードアベレージについての所感

  (CPUコア数 -1) / 3 = 閾値 目安として   6コアの場合 (6-1) / 3 = 1.6が閾値     8コアの場合 (8-1) / 3 = 2.33が閾値   なぜロードアベレージはあがるか? CPU I/O   I/Oはsarコマンドで調べることができる $ sar 3 10   %Iowaitが30%以下なら良し …

MySQL, RDB, チューニング, Linux

MySQL SHOWによる解析とチューニング

MySQLのチューニング調査依頼で時短で終わるように   バージョン CentOS7 MySQL5.6   DB, テーブルのDBエンジンの確認   データベースの確認 mysql> show databases; +——————–+ | Database | +——————–+ | information_s …

チューニング

JMeter(Windows版) インストールと簡単な使い方

  インストール   JAVA http://www.java.com/ja/download/   Windows JMeter http://ftp.kddilabs.jp/infosystems/apache//jmeter/binaries/ ダウンロードファイルを展開し、 C:\Program Files (x86)\apache-jmeter-2.13 に …

MySQL, RDB, チューニング

コンシューマでJOIN禁止, 固定長DBまとめ

コンシューマ世界でのJOIN禁止、固定長ルールのまとめ 私 JOIN禁止の世界は知らない(1テーブルに1億以上のレコードを扱ったことがない) 原則として正規化できるものは正規化してJOINを行い、正規化する必要のないものは正規化しないスタンス 1テーブルはどんなに大きくても20カラム限界がセオリー →正規化できるのではないか、テーブルをわける 1テーブルが大きく正規化されずに開発されたサービスの保 …

MySQL, SQL, チューニング

SQL インデックスが効かない検索

  基本戦略 テーブルを正規化する JOIN(INNER JOIN)を有効に活用する 非正規化でテーブルを巨大にしない すべてのテーブルを正規化することは出来ない 出来るテーブルのみ正規化する EXPLAINで計測する、INDEXが有効に動いているか確認する   インデックスのデメリット SELECT性能がBtreeインデックスによって向上するが、UPDATEでINDEXが再生 …

SQL, チューニング

SQLパフォーマンス要約 なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策

  自分用に要約メモ。   詳しい記事は引用先をみてくださいな。 @see なぜ、SQLは重たくなるのか? —『SQLパフォーマンス詳解』の翻訳者が教える原因と対策   ORMが自動生成するSQLを確認する 通常はSELECT+JOIN句で処理できるSQL対して、N+1問題が発生していないか。 10記事取得するSQLで、 記事取得で終わるSQL一発が、記事取得1+各 …

チューニング, Linux

プロセス当たりのメモリを知る

  htop # yum install epel-release # yum install htop # htop ソートできるし、見やすい。 Commandをクリックしてソート >> VERTと、RESの値をみると良い。     ps # ps alx | grep php | awk ‘{printf (“%d\t%s\n”, $8,$13)}’ 34080 …

チューニング, Linux

Nginxキャッシュ tmpfs化

  クラウドなんかはSSDだったりするのですが、お客様の事情でHDDのVPSサーバにする必要があったりします。そんな時に使えるよ!   # vi /etc/fstab # # /etc/fstab # Created by anaconda on Fri Aug 21 10:41:32 2015 # # Accessible filesystems, by reference, …

MySQL, チューニング, Linux

MySQL 5.6 ファイルディスクリプタ カーネルチューニング CentOS7

MySQL5.6 ファイルディスクリプタチューニング CentOS7   [Warning] Buffered warning: Could not increase number of max_open_files to more than 1024 (request: 10140) [Warning] Buffered warning: Changed limits: max_con …