Servidor Ubuntu LAMP ocupado en horas pico

Servidor Ubuntu LAMP ocupado en horas pico

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

iostatejecutado 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.

información relacionada