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
iostat
executado 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.