
仮想クラウド ホスティング (CityCloud) 上で LAMP を搭載した Ubuntu 14 サーバーを実行しています。
サーバーは通常、応答時間が 0.5 秒未満で非常に良好に動作します。ただし、主に月曜日から水曜日/木曜日のピーク時に問題が発生し、応答時間が約 7 秒から 8 秒以上になります。stackoverflow の @drew010 のおかげで、ワーカー MPM と php-fpm に渡すことで、これらの時間がほぼ半分になりました。
さて、忙しい時間帯の平均読み込み時間の残り 3 秒をなくすために、最後の調整を行えるかどうかを確認したいと思います。
Google Analytics によると、この Web サイトのページビューは毎月約 500 万回、ピーク時には 1 時間あたり約 12,000 ~ 13,000 回に達します。
私の設定は次のとおりです:
- Ubuntu 14.04.3 LTS
- PHP バージョン 5.5.9、FPM/FastCGI
- 4 CPU コア
- 8 メモリ
- 1 Gbps の帯域幅と 1 TB の転送/月に制限されます
- ピーク時のCPU使用率は6%未満
- 使用メモリ < 2GB
- ピーク時には約 2M txbps
- 静的コンテンツは、有効期限ヘッダー「アクセス期間プラス 1 か月」を持つ別のサブドメイン (同じマシン) から提供されます。
- 同じマシン上で実行されている MySQL。
- MySQL クエリは高速であり、問題がないことが測定されました。
明らかに、4 コア/8 RAM は過剰です。パフォーマンスが良好であれば、最大でも 2 コア/4 RAM に戻すつもりです。
これはピーク時の netstat 出力です。
$ netstat -ant | awk '{print $6}' | ソート | uniq -c | ソート -n 3 終わりに 5 聞く 8 FIN_WAIT1 69 最終確認 80 SYN_RECV 117 設立 147 FIN_WAIT2 1028 時間待ち
サーバー情報:
ファイル内: /etc/apache2/mods-enabled/mpm_worker.conf 13: スタートサーバー2 14: 最小スペアスレッド数 25 15: 最大スペアスレッド数 75 16: スレッド制限 64 17: スレッド数/子 25 18: 最大リクエストワーカー数 150
いくつかのカーネル オプション値:
/proc/sys/net/core/somaxconn: 128 /proc/sys/net/core/netdev_max_backlog: 1000 /proc/sys/net/ipv4/tcp_max_syn_backlog: 256 /proc/sys/net/ipv4/ip_local_port_range: 32768 61000
MySQL「グローバルステータスを表示」:
中止されたクライアント 7 中止された接続 14 バイナリログキャッシュディスク使用 0 バイナリログキャッシュ使用 0 Binlog_stmt_cache_disk_use 0 バイナリログ_stmt_cache_use 0 受信バイト数 7324492238 送信バイト数 33143229342 Com_admin_commands 0 キーキャッシュへの割り当て 0 Com_alter_db 0 Com_alter_db_upgrade 0 Com_alter_event 0 Com_alter_function 0 Com_alter_procedure 0 Com_alter_server 0 Com_alter_table 2 Com_alter_tablespace 0 Com_analyze 0 Com_begin 0 Com_binlog 0 呼び出し手順 0 Com_change_db 1277679 Com_change_master 0 Com_check 0 Com_チェックサム 0 コミット0 Com_create_db 0 Com_create_event 0 Com_create_function 0 Com_create_index 0 Com_create_procedure 0 Com_create_server 0 Com_create_table 0 Com_create_trigger 0 Com_create_udf 0 Com_create_user 0 Com_create_view 0 Com_dealloc_sql 0 Com_delete 19 Com_delete_multi 0 Com_do 0 Com_drop_db 0 Com_drop_event 0 Com_drop_function 0 Com_drop_index 0 Com_drop_procedure 0 Com_drop_server 0 Com_drop_table 0 Com_drop_trigger 0 Com_drop_user 0 Com_drop_view 0 Com_empty_query 0 Com_execute_sql 0 Com_flush 0 Com_grant 0 Com_ha_close 0 Com_ha_open 0 Com_ha_read 0 Com_help 0 Com_挿入 1301 Com_挿入_選択 0 Com_install_plugin 0 Com_kill 0 Com_load 0 Com_lock_tables 18 Com_optimize 1 Com_preload_keys 0 Com_prepare_sql 0 Com_purge 0 Com_purge_before_date 0 Com_release_セーブポイント 0 Com_rename_table 0 Com_ユーザー名変更 0 Com_repair 0 Com_replace 7 Com_replace_select 0 Com_リセット 0 Com_resignal 0 Com_取り消し 0 Com_revoke_all 0 Com_ロールバック 0 セーブポイントへのロールバック 0 Com_セーブポイント 0 Com_select 8939751 Com_set_option 2555998 通信信号 0 Com_show_authors 0 Com_show_binlog_events 0 Com_show_binlogs 94 Com_show_charsets 0 Com_show_collations 0 Com_show_contributors 0 Com_show_create_db 18 Com_show_create_event 0 Com_show_create_func 0 Com_show_create_proc 0 Com_show_create_table 356 Com_show_create_trigger 0 Com_show_databases 28 Com_show_engine_logs 0 Com_show_engine_mutex 0 Com_show_engine_status 0 Com_show_events 5 Com_show_errors 0 Com_show_fields 381 Com_show_function_status 5 Com_show_grants 5 Com_show_keys 40 Com_show_master_status 43 Com_show_open_tables 0 Com_show_plugins 0 Com_show_privileges 0 Com_show_procedure_status 5 Com_show_processlist 1099 プロフィールを表示 0 Com_show_profiles 0 Com_show_relaylog_events 0 Com_show_slave_hosts 0 スレーブステータスを表示 1118 Com_show_status 1120 Com_show_storage_engines 0 Com_show_table_status 366 Com_show_tables 77 Com_show_triggers 324 Com_show_variables 1135 警告を表示 0 Com_slave_start 0 Com_slave_stop 0 Com_stmt_close 0 Com_stmt_execute 0 Com_stmt_fetch 0 Com_stmt_prepare 0 Com_stmt_reprepare 0 Com_stmt_reset 0 Com_stmt_send_long_data 0 Com_truncate 0 Com_uninstall_plugin 0 Com_unlock_tables 18 Com_update 41612 Com_update_multi 0 Com_xa_コミット 0 Com_xa_end 0 Com_xa_prepare 0 Com_xa_recover 0 Com_xa_ロールバック 0 Com_xa_start 0 圧縮OFF 接続 1277451 作成された_tmp_disk_tables 731 作成されたtmpファイル9 作成された_tmp_tables 3602 遅延エラー 0 遅延挿入スレッド 0 遅延書き込み 0 フラッシュコマンド 1 ハンドラ_コミット 284 ハンドラ_削除 19 ハンドラ_検出 0 ハンドラ_準備 0 ハンドラー_read_first 485 ハンドラ読み取りキー 7814753 ハンドラー_read_last 48790 ハンドラー_read_next 55898210 ハンドラー_read_prev 457247 ハンドラー読み取り回数 223213 ハンドラー_read_rnd_next 4231962515 ハンドラ_ロールバック 0 ハンドラ_セーブポイント 0 ハンドラー_セーブポイント_ロールバック 0 ハンドラー_アップデート 40888 ハンドラ_書き込み 377375 Innodb_バッファプール_ページデータ 202 Innodb_バッファプール_バイトデータ 3309568 Innodb_buffer_pool_pages_dirty 0 Innodb_buffer_pool_bytes_dirty 0 Innodb_buffer_pool_pages_flushed 37 バッファプールページがフラッシュされました 37 Innodb_buffer_pool_pages_free 7989 Innodb_buffer_pool_pages_misc 0 Innodb_バッファプールページ合計 8191 Innodb_buffer_pool_read_ahead_rnd 0 Innodb_buffer_pool_read_ahead 0 Innodb_buffer_pool_read_ahead_evicted 0 Innodb_buffer_pool_read_requests 2817 Innodb_buffer_pool_reads 196 Innodb_buffer_pool_wait_free 0 Innodb_buffer_pool_write_requests 86 Innodb_data_fsyncs 39 Innodb_data_pending_fsyncs 0 Innodb_data_pending_reads 0 Innodb_データ_保留_書き込み 0 Innodb_データ読み取り 5394432 Innodb_データ読み取り 206 Innodb_データ書き込み 67 Innodb_data_written 1235456 Innodb_dblwr_pages_written 37 Innodb_dblwr_writes 9 Innodb_have_atomic_builtins オン Innodb_log_waits 0 Innodb_log_write_requests 35 Innodb_log_writes 10 Innodb_os_log_fsyncs 21 Innodb_os_log_pending_fsyncs 0 Innodb_os_log_pending_writes 0 Innodb_os_log_written 17408 Innodb_ページサイズ 16384 Innodb_pages_created 7 Innodb_ページ読み取り 195 Innodb_pages_written 37 Innodb_row_lock_current_waits 0 Innodb_行ロック時間 0 Innodb_行ロック時間平均 0 Innodb_行ロック時間最大 0 Innodb_行ロック待機 0 Innodb_行削除 0 Innodb_rows_inserted 0 Innodb_rows_read 59 Innodb_rows_updated 7 Innodb_切り捨て_ステータス_書き込み 0 キーブロックがフラッシュされていない 0 未使用のキーブロック 10770 使用されたキーブロック数 2626 キー読み取りリクエスト 167086090 キー読み取り数 2430 キー書き込みリクエスト 376494 キー書き込み 303134 最終クエリコスト 0 最大使用接続数 8 遅延行がフラッシュされていない 0 オープンファイル 141 オープンストリーム 0 オープンテーブル定義 73 オープンテーブル 137 開いたファイル 5062 オープンされたテーブル定義 80 オープンテーブル 150 パフォーマンス_スキーマ_条件_クラス_損失 0 パフォーマンス_スキーマ_条件_インスタンス_損失 0 パフォーマンス_スキーマ_ファイル_クラス_損失 0 パフォーマンス_スキーマ_ファイル_ハンドル_損失 0 パフォーマンス_スキーマ_ファイル_インスタンス_損失 0 パフォーマンス_スキーマ_ロッカー_損失 0 パフォーマンス_スキーマ_ミューテックス_クラス_損失 0 パフォーマンス_スキーマ_ミューテックス_インスタンス_損失 0 パフォーマンス_スキーマ_rwlock_classes_lost 0 パフォーマンス_スキーマ_rwlock_インスタンス_lost 0 パフォーマンス_スキーマ_テーブル_ハンドル_損失 0 パフォーマンス_スキーマ_テーブル_インスタンス_損失 0 パフォーマンス_スキーマ_スレッド_クラス_損失 0 パフォーマンス_スキーマ_スレッド_インスタンス_損失 0 準備されたステートメント数 0 Qキャッシュ空きブロック数 2242 Qキャッシュ空きメモリ 7441152 Qcache_hits 68078488 Qcache_挿入 8868017 Qcache_lowmem_prunes 4451717 Qcache_not_cached 71091 Qcache_queries_in_cache 6797 Qcache_total_blocks 16056 クエリ 82178544 質問 82178543 Rpl_status AUTH_MASTER フル結合を選択 0 全範囲結合を選択 0 選択範囲 2041371 選択範囲チェック 0 スキャンを選択 1151738 スレーブ_ハートビート_期間 0 スレーブオープン一時テーブル 0 スレーブが受信したハートビート 0 スレーブ再試行トランザクション 0 スレーブ実行オフ 遅い起動スレッド 0 遅いクエリ 0 ソート_マージ_パス 5 並べ替え範囲 878229 ソート行 236531 ソートスキャン 869 Ssl_accept_renegotiates 0 SSL_accepts 0 受け入れ Ssl_callback_cache_hits 0 SSL暗号 SSL暗号リスト SSL_クライアント接続 0 Ssl_connect_renegotiates 0 SSL_CTX_検証深さ 0 SSL_CTX_検証モード 0 SSL_デフォルト_タイムアウト 0 SSL_完了_受け入れ 0 SSL接続完了 0 SSL_セッション_キャッシュ_ヒット数 0 SSL_セッション_キャッシュ_ミス 0 Ssl_session_cache_mode なし Ssl_session_cache_overflows 0 SSL_セッション_キャッシュ_サイズ 0 SSL_セッション_キャッシュ_タイムアウト 0 SSL_セッション_再利用 0 Ssl_used_session_cache_entries 0 SSL_検証_深さ 0 SSL検証モード0 SSLバージョン テーブルロック即時 9116984 テーブルロック待機数 178 Tc_log_max_pages_used 0 Tc_log_ページサイズ 0 Tc_log_page_waits 0 スレッドキャッシュ 6 スレッド接続 2 スレッド作成数 8 スレッド実行中 1 稼働時間 423398 フラッシュステータス以降の稼働時間 423398
iostat
ピーク時に実行:
$ iostat -xdk 1 デバイス: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 4.00 0.00 4.00 4.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 8.00 8.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 17.00 0.00 96.00 11.29 0.00 0.00 0.00 0.00 0.00 0.00 0.00 34.00 0.00 3.00 0.00 152.00 101.33 0.00 1.33 0.00 1.33 1.33 0.40 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 12.00 24.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.00 0.00 152.00 15.20 0.02 1.20 0.00 1.20 0.60 1.20 0.00 44.00 0.00 2.00 0.00 188.00 188.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 8.00 8.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 4.00 0.00 4.00 4.00 0.40 0.00 74.00 0.00 146.00 0.00 908.00 12.44 0.30 2.08 0.00 2.08 0.05 0.80 0.00 46.00 0.00 3.00 0.00 200.00 133.33 0.00 1.33 0.00 1.33 1.33 0.40 0.00 0.00 0.00 4.00 0.00 16.00 8.00 0.00 1.00 0.00 1.00 1.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.00 0.00 232.00 23.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 41.00 0.00 2.00 0.00 176.00 176.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.82 0.00 118.81 13.33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 42.00 0.00 4.00 0.00 188.00 94.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.00 0.00 60.00 10.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 39.00 0.00 2.00 0.00 168.00 168.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16.00 0.00 76.00 9.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.00 0.00 2.00 0.00 140.00 140.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18.00 0.00 100.00 11.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.00 0.00 2.00 0.00 132.00 132.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.00 0.00 48.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 37.00 0.00 3.00 0.00 164.00 109.33 0.01 2.67 0.00 2.67 2.67 0.80 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 48.00 0.00 130.00 0.00 744.00 11.45 0.24 1.88 0.00 1.88 0.06 0.80 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 35.00 0.00 4.00 0.00 160.00 80.00 0.00 1.00 0.00 1.00 1.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19.00 0.00 172.00 18.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 4.00 0.00 4.00 4.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 39.00 0.00 2.00 0.00 168.00 168.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 25.00 0.00 184.00 14.72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 48.00 0.00 2.00 0.00 204.00 204.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18.00 0.00 104.00 11.56 0.00 0.22 0.00 0.22 0.22 0.40 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.02 24.00 0.00 24.00 24.00 2.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 39.00 0.00 4.00 0.00 176.00 88.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.00 0.00 100.00 11.76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 38.00 0.00 3.00 0.00 168.00 112.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.00 0.00 8.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16.00 0.00 100.00 12.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 40.00 0.00 2.00 0.00 172.00 172.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10.00 0.00 64.00 12.80 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 34.00 0.00 2.00 0.00 144.00 144.00 0.00 2.00 0.00 2.00 2.00 0.40 0.00 0.00 0.00 2.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 55.00 0.00 117.00 0.00 732.00 12.51 0.28 2.43 0.00 2.43 0.10 1.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
どのような助けでも大歓迎です! :-)
答え1
を増やす必要があります/proc/sys/net/core/somaxconn
。デフォルトは 128 です。要求のバーストに対応するには、値を大幅に増やす必要があります。