引用元 https://zenn.dev/hiro1111/articles/performance_schema ステートメント分析 最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。 待機イベント分析 データベースの待機イベントを …
カテゴリー: チューニング
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 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 に …
コンシューマでJOIN禁止, 固定長DBまとめ
コンシューマ世界でのJOIN禁止、固定長ルールのまとめ 私 JOIN禁止の世界は知らない(1テーブルに1億以上のレコードを扱ったことがない) 原則として正規化できるものは正規化してJOINを行い、正規化する必要のないものは正規化しないスタンス 1テーブルはどんなに大きくても20カラム限界がセオリー →正規化できるのではないか、テーブルをわける 1テーブルが大きく正規化されずに開発されたサービスの保 …
SQL インデックスが効かない検索
基本戦略 テーブルを正規化する JOIN(INNER JOIN)を有効に活用する 非正規化でテーブルを巨大にしない すべてのテーブルを正規化することは出来ない 出来るテーブルのみ正規化する EXPLAINで計測する、INDEXが有効に動いているか確認する インデックスのデメリット SELECT性能がBtreeインデックスによって向上するが、UPDATEでINDEXが再生 …
ディスク書き込み速度計測
自社バックアップサーバ HDD # dd if=/dev/zero of=/tmp/disktest bs=1MB count=2048 ; rm -f /tmp/disktest 2048+0 records in 2048+0 records out 2048000000 bytes (2.0 GB) copied, 12.0685 s, 170 MB/s 170MB/s HDD …
SQLパフォーマンス要約 なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策
自分用に要約メモ。 詳しい記事は引用先をみてくださいな。 @see なぜ、SQLは重たくなるのか? —『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 ORMが自動生成するSQLを確認する 通常はSELECT+JOIN句で処理できるSQL対して、N+1問題が発生していないか。 10記事取得するSQLで、 記事取得で終わるSQL一発が、記事取得1+各 …
プロセス当たりのメモリを知る
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 …
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 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 …