Ubuntu LAMP サーバーはピーク時に混雑します

Ubuntu LAMP サーバーはピーク時に混雑します

仮想クラウド ホスティング (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_collat​​ions 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 です。要求のバーストに対応するには、値を大幅に増やす必要があります。

関連情報