Servidor Ubuntu LAMP ocupado nos horários de pico

Servidor Ubuntu LAMP ocupado nos horários de pico

Estou executando um servidor Ubuntu 14 com LAMP em hospedagem virtual em nuvem (CityCloud).

O servidor geralmente está indo muito bem com tempo de resposta <0,5s. No entanto, os problemas começam nos horários de pico, principalmente de segunda a quarta/quinta-feira, com tempos de resposta em torno de 7 a 8 segundos ou mais. Esses tempos foram reduzidos mais ou menos pela metade ao passar para o trabalhador MPM e php-fpm, graças a @ drew010 no stackoverflow.

Agora, gostaria de ver se há algum último ajuste que eu possa fazer para me livrar dos 3 segundos restantes do tempo médio de carregamento durante os horários de pico.

De acordo com o Google Analytics: O site tem cerca de 5 milhões de visualizações de páginas por mês e, durante os horários de pico, cerca de 12 a 13.000 mil visualizações de páginas por hora.

Aqui está minha configuração:

  • Ubuntu 14.04.3LTS
  • PHP Versão 5.5.9, FPM/FastCGI
  • 4 núcleos de CPU
  • 8 RAM
  • Limitado a largura de banda de 1 Gbps e transferência de 1 TB/mês
  • <6% de uso da CPU durante horários de pico
  • Memória usada < 2 GB
  • ~2M txbps durante horários de pico
  • O conteúdo estático é servido a partir de um subdomínio separado (mesma máquina) com cabeçalhos expirados "acesso mais 1 mês".
  • MySQL rodando na mesma máquina.
  • As consultas MySQL foram avaliadas como rápidas e não um problema.

Obviamente, 4 núcleos/8 RAM é excessivo. Minhas intenções são voltar para no máximo 2 núcleos/4 RAM, se o desempenho for bom.

Esta é uma saída netstat durante o horário de pico:

$ netstat -ant | awk '{imprimir $6}' | classificar | único -c | classificar -n
      3 ENCERRAMENTO
      5OUÇA
      8 FIN_WAIT1
     69 LAST_ACK
     80 SYN_RECV
    117 ESTABELECIDO
    147 FIN_WAIT2
   1028 TIME_WAIT

Algumas informações do servidor:

No arquivo: /etc/apache2/mods-enabled/mpm_worker.conf
  13: Iniciar Servidores 2
  14: MinSpareThreads 25
  15: MaxSpareThreads 75
  16: ThreadLimit 64
  17: ThreadsPorCriança 25
  18: MaxRequestWorkers 150

Alguns valores de opções do kernel:

/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 "MOSTRAR STATUS GLOBAL":

Clientes abortados 7
Abortadas_conexões 14
Binlog_cache_disk_use 0
Binlog_cache_use 0
Binlog_stmt_cache_disk_use 0
Binlog_stmt_cache_use 0
Bytes_recebidos 7324492238
Bytes_enviados 33143229342
Com_admin_commands 0
Com_assign_to_keycache0
Com_alter_db 0
Com_alter_db_upgrade0
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_binlog0
Com_call_procedure 0
Com_change_db 1277679
Com_change_master 0
Com_check 0
Com_checksum 0
Com_commit 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_udf0
Com_create_user 0
Com_create_view 0
Com_dealloc_sql 0
Com_delete 19
Com_delete_multi 0
Com_do 0
Com_drop_db0
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_inserir 1301
Com_insert_select 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_savepoint 0
Com_rename_table 0
Com_renome_user 0
Com_repair 0
Com_substituir 7
Com_replace_select 0
Com_reset 0
Com_resignal 0
Com_revoke 0
Com_revoke_all 0
Com_rollback 0
Com_rollback_to_savepoint 0
Com_savepoint 0
Com_select 8939751
Com_set_option 2555998
Com_sinal 0
Com_show_authors 0
Com_show_binlog_events0
Com_show_binlogs94
Com_show_charsets0
Com_show_collations 0
Com_show_contributors 0
Com_show_create_db 18
Com_show_create_event 0
Com_show_create_func0
Com_show_create_proc 0
Com_show_create_table 356
Com_show_create_trigger 0
Com_show_databases 28
Com_show_engine_logs0
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_plugins0
Com_show_privileges 0
Com_show_procedure_status 5
Com_show_processlist 1099
Com_show_profile 0
Com_show_profiles 0
Com_show_relaylog_events0
Com_show_slave_hosts0
Com_show_slave_status 1118
Com_show_status 1120
Com_show_storage_engines0
Com_show_table_status 366
Com_show_tables 77
Com_show_triggers 324
Com_show_variables 1135
Com_show_warnings 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_truncar 0
Com_uninstall_plugin 0
Com_unlock_tables 18
Com_update 41612
Com_update_multi 0
Com_xa_commit 0
Com_xa_end 0
Com_xa_prepare 0
Com_xa_recover 0
Com_xa_rollback 0
Com_xa_start 0
Compressão DESLIGADA
Conexões 1277451
Criado_tmp_disk_tables 731
Arquivos_tmp_criados 9
Criado_tmp_tables 3602
Erros_atrasados ​​0
Delayed_insert_threads 0
Gravações_atrasadas 0
Flush_commands 1
Manipulador_commit 284
Manipulador_delete 19
Manipulador_descobrir 0
Handler_prepare 0
Handler_read_first 485
Handler_read_key 7814753
Handler_read_last 48790
Handler_read_next 55898210
Handler_read_prev 457247
Handler_read_rnd 223213
Handler_read_rnd_next 4231962515
Manipulador_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Manipulador_atualização 40888
Manipulador_write 377375
Innodb_buffer_pool_pages_data 202
Innodb_buffer_pool_bytes_data 3309568
Innodb_buffer_pool_pages_dirty 0
Innodb_buffer_pool_bytes_dirty 0
Innodb_buffer_pool_pages_flushed 37
Innodb_buffer_pool_pages_free 7989
Innodb_buffer_pool_pages_misc0
Innodb_buffer_pool_pages_total 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_fsyncs39
Innodb_data_pending_fsyncs0
Innodb_data_pending_reads0
Innodb_data_pending_writes 0
Innodb_data_read5394432
Innodb_data_reads 206
Innodb_data_writes 67
Innodb_data_write 1235456
Innodb_dblwr_pages_write 37
Innodb_dblwr_writes 9
Innodb_have_atomic_builtins LIGADO
Innodb_log_waits 0
Innodb_log_write_requests35
Innodb_log_writes 10
Innodb_os_log_fsyncs21
Innodb_os_log_pending_fsyncs0
Innodb_os_log_pending_writes 0
Innodb_os_log_writed 17408
Innodb_page_size 16384
Innodb_pages_criado 7
Innodb_pages_read 195
Innodb_pages_write 37
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 0
Innodb_row_lock_time_avg 0
Innodb_row_lock_time_max0
Innodb_row_lock_waits 0
Innodb_rows_deleted 0
Innodb_rows_inserted 0
Innodb_rows_read 59
Innodb_rows_atualizado 7
Innodb_truncated_status_writes 0
Key_blocks_not_flushed 0
Key_blocks_unused 10770
Key_blocks_usados ​​2626
Key_read_requests 167086090
Key_reads 2430
Key_write_requests 376494
Key_writes 303134
Última_consulta_custo 0
Max_used_connections 8
Not_flushed_delayed_rows 0
Arquivos_abertos 141
Open_streams 0
Open_table_definitions 73
Tabelas_abertas 137
Arquivos_abertos 5062
Open_table_definitions 80
Tabelas_abertas 150
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
Performance_schema_file_classes_lost 0
Desempenho_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
Desempenho_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Prepared_stmt_count 0
Qcache_free_blocks2242
Qcache_free_memory 7441152
Qcache_hits68078488
Qcache_inserts 8868017
Qcache_lowmem_prunes4451717
Qcache_not_cached 71091
Qcache_queries_in_cache 6797
Qcache_total_blocks16056
Consultas 82178544
Perguntas 82178543
Rpl_status AUTH_MASTER
Select_full_join 0
Select_full_range_join 0
Selecione_intervalo 2041371
Select_range_check 0
Selecione_scan 1151738
Escravo_heartbeat_período 0
Slave_open_temp_tables 0
Slave_received_heartbeats 0
Slave_retried_transactions 0
Slave_running DESLIGADO
Slow_launch_threads 0
Consultas lentas 0
Sort_merge_passes 5
Intervalo_de classificação 878229
Classificar_linhas 236531
Sort_scan 869
Ssl_accept_renegotiates0
SSL_aceita 0
SSL_callback_cache_hits0
SSL_cipher  
SSL_cipher_list
SSL_client_connects 0
SSL_connect_renegotiates0
Ssl_ctx_verify_profundidade 0
Ssl_ctx_verify_mode 0
SSL_default_timeout0
SSL_acabado_accepts 0
SSL_terminado_conecta 0
SSL_session_cache_hits0
SSL_session_cache_misses 0
Ssl_session_cache_mode NENHUM
SSL_session_cache_overflows0
SSL_session_cache_size 0
SSL_session_cache_timeouts0
SSL_sessions_reutilizados 0
SSL_used_session_cache_entries 0
SSL_verify_profundidade 0
SSL_verify_mode 0
SSL_versão
Table_locks_immediate 9116984
Table_locks_waited 178
Tc_log_max_pages_usado 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 6
Threads_conectados 2
Threads_criados 8
Threads_running 1
Tempo de atividade 423398
Uptime_since_flush_status 423398

iostatexecutado durante o horário de pico:

$iostat-xdk1
Dispositivo: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz aguardar r_await w_await svctm %util
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 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
vda 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
vda 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
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
vda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Qualquer ajuda é apreciada! :-)

Responder1

Você precisa aumentar /proc/sys/net/core/somaxconn. O padrão é 128. O valor deve ser aumentado substancialmente para suportar rajadas de solicitação.

informação relacionada