
Estoy ejecutando un servidor Ubuntu 14 con LAMP en alojamiento en la nube virtual (CityCloud).
El servidor suele funcionar muy bien con un tiempo de respuesta <0,5 s. Sin embargo, los problemas comienzan en las horas pico, principalmente de lunes a miércoles o jueves, con tiempos de respuesta de alrededor de 7 a 8 segundos o más. Estos tiempos se redujeron más o menos a la mitad al pasar al trabajador MPM y php-fpm, gracias a @drew010 en stackoverflow.
Ahora, me gustaría ver si hay algún último ajuste que pueda hacer para deshacerme de esos 3 segundos restantes de tiempo de carga promedio durante las horas pico.
Según Google Analytics: El sitio web tiene alrededor de 5 millones de páginas vistas por mes, y durante las horas pico entre 12 y 13 000 mil páginas vistas por hora.
Aquí está mi configuración:
- Ubuntu 14.04.3 LTS
- PHP Versión 5.5.9, FPM/FastCGI
- 4 núcleos de CPU
- 8 RAM
- Limitado a 1 Gbps de ancho de banda y 1 TB de transferencia/mes
- <6% de uso de CPU durante las horas pico
- Memoria utilizada < 2 GB
- ~2 millones de txbps durante las horas pico
- El contenido estático se sirve desde un subdominio separado (misma máquina) con encabezados de vencimiento "acceso más 1 mes".
- MySQL ejecutándose en la misma máquina.
- Se ha medido que las consultas MySQL son rápidas y no representan un problema.
Evidentemente, 4 núcleos/8 RAM es excesivo. Mis intenciones son volver a utilizar como máximo 2 núcleos/4 RAM, si el rendimiento es bueno.
Esta es una salida de netstat durante la hora pico:
$ netstat -hormiga | awk '{imprimir $6}' | ordenar | único -c | ordenar -n 3 CIERRE 5 ESCUCHA 8 FIN_WAIT1 69 ÚLTIMO_ACK 80 SYN_RECV 117 ESTABLECIDO 147 FIN_WAIT2 1028 TIEMPO_ESPERA
Alguna información del servidor:
En el archivo: /etc/apache2/mods-enabled/mpm_worker.conf 13: Iniciar servidores 2 14: MinSpareThreads 25 15: MaxSpareThreads 75 16: Límite de hilo 64 17: Hilos por niño 25 18: Trabajadores de solicitudes máximas 150
Algunos valores de opciones del 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 ESTADO GLOBAL":
Clientes_abortados 7 Conexiones_abortadas 14 Binlog_cache_disk_use 0 binlog_cache_use 0 Binlog_stmt_cache_disk_use 0 Binlog_stmt_cache_use 0 Bytes_recibidos 7324492238 Bytes_enviados 33143229342 Com_admin_commands 0 Com_assign_to_keycache 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_analizar 0 Com_comienzo 0 com_binlog 0 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_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 servidor_com_drop 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_ayuda 0 Com_insertar 1301 Com_insert_select 0 Com_install_plugin 0 Com_kill 0 com_carga 0 Com_lock_tables 18 Com_optimizar 1 Com_preload_keys 0 Com_prepare_sql 0 Com_purga 0 Com_purge_before_date 0 Com_release_savepoint 0 Com_rename_table 0 Com_rename_user 0 Com_reparación 0 Com_reemplazar 7 Com_replace_select 0 reinicio_com 0 Com_resignal 0 Com_revocar 0 Com_revoke_all 0 Com_rollback 0 Com_rollback_to_savepoint 0 Com_savepoint 0 Com_select 8939751 Com_set_option 2555998 Señal_com 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 Com_show_profile 0 Com_show_profiles 0 Com_show_relaylog_events 0 Com_show_slave_hosts 0 Com_show_slave_status 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 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_actualización 41612 Com_update_multi 0 Com_xa_commit 0 Com_xa_end 0 Com_xa_prepare 0 Com_xa_recuperar 0 Com_xa_rollback 0 Com_xa_start 0 Compresión desactivada Conexiones 1277451 Creado_tmp_disk_tables 731 Archivos_tmp_creados 9 Creado_tmp_tables 3602 Errores_retrasados 0 Hilos_insertados_retrasados 0 Escrituras retrasadas 0 Comandos de descarga 1 Handler_commit 284 Controlador_delete 19 Handler_discover 0 controlador_preparar 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 controlador_rollback 0 Handler_savepoint 0 Handler_savepoint_rollback 0 Controlador_actualización 40888 Handler_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_misc 0 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_fsyncs 39 Innodb_data_pending_fsyncs 0 Innodb_data_pending_reads 0 Innodb_data_pending_writes 0 Innodb_data_read 5394432 Innodb_data_reads 206 Innodb_data_writes 67 Innodb_data_escrito 1235456 Innodb_dblwr_pages_escrito 37 Innodb_dblwr_writes 9 Innodb_have_atomic_builtins activado 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_escrito 17408 Innodb_page_size 16384 Innodb_pages_created 7 Innodb_pages_read 195 Innodb_pages_escrito 37 Innodb_row_lock_current_waits 0 Innodb_row_lock_time 0 Innodb_row_lock_time_avg 0 Innodb_row_lock_time_max 0 Innodb_row_lock_waits 0 Innodb_rows_deleted 0 Innodb_rows_insertado 0 Innodb_rows_read 59 Innodb_rows_updated 7 Innodb_truncated_status_writes 0 Key_blocks_not_flushed 0 Bloques_claves_no utilizados 10770 Bloques_llaves_usados 2626 Solicitudes de lectura de claves 167086090 Lecturas clave 2430 Solicitudes_de_escritura_clave 376494 Escritura_clave 303134 Última_consulta_coste 0 Max_used_connections 8 Not_flushed_delayed_rows 0 Archivos_abiertos 141 transmisiones_abiertas 0 Definiciones_de_tabla_abiertas 73 Tablas_abiertas 137 Archivos_abiertos 5062 Definiciones_de_tabla_abiertas 80 Tablas_abiertas 150 Performance_schema_cond_classes_lost 0 Performance_schema_cond_instances_lost 0 Performance_schema_file_classes_lost 0 Performance_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 Performance_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_blocks 2242 Qcache_memoria_libre 7441152 Qcache_hits 68078488 Qcache_inserts 8868017 Qcache_lowmem_prunes 4451717 Qcache_not_cached 71091 Qcache_queries_in_cache 6797 Qcache_total_blocks 16056 Consultas 82178544 Preguntas 82178543 Rpl_status AUTH_MASTER Seleccionar_unión_completa 0 Seleccionar_gama_completa_unirse 0 Seleccionar_rango 2041371 Seleccionar_rango_comprobar 0 Seleccionar_escanear 1151738 Slave_heartbeat_period 0 Esclavo_open_temp_tables 0 Esclavo_recibido_latidos_del_corazón 0 Slave_retried_transactions 0 Slave_running APAGADO Hilos_de_lanzamiento_lento 0 consultas_lentas 0 sort_merge_passes 5 rango_clasificación 878229 sort_rows 236531 ordenar_escanear 869 SSL_accept_renegocia 0 SSL_acepta 0 ssl_callback_cache_hits 0 SSL_cipher lista_cifrado_ssl ssl_client_connects 0 ssl_connect_renegocia 0 Ssl_ctx_verify_profundidad 0 Ssl_ctx_verify_mode 0 SSL_default_timeout 0 SSL_finalizado_accepts 0 ssl_finished_connects 0 ssl_session_cache_hits 0 ssl_session_cache_misses 0 ssl_session_cache_mode NINGUNO Ssl_session_cache_overflows 0 SSL_session_cache_size 0 Ssl_session_cache_timeouts 0 ssl_sessions_reused 0 Ssl_used_session_cache_entries 0 SSL_verify_profundidad 0 SSL_verify_mode 0 versión_ssl Table_locks_immediate 9116984 Table_locks_waited 178 Tc_log_max_pages_used 0 Tc_log_page_size 0 Tc_log_page_waits 0 Hilos_caché 6 Hilos_conectados 2 Temas_creados 8 Hilos_en ejecución 1 Tiempo de actividad 423398 Tiempo de actividad_since_flush_status 423398
iostat
ejecutado durante la hora pico:
$ iostato -xdk 1 Dispositivo: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz await 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
¡Cualquier ayuda es apreciada! :-)
Respuesta1
Necesitas aumentar /proc/sys/net/core/somaxconn
. El valor predeterminado es 128. El valor debe aumentarse sustancialmente para admitir ráfagas de solicitudes.