Tengo el sitio web de magento. No hay ningún usuario (máximo 2-3 en el momento).
Nuestro servidor es: CPU: 2000MHz RAM: 2048Mb HDD: 50000Mb.
Instalé ZendServerCE (apc + memcached + Zend Optimizer + Zend Data Cache). Apagué memcached, porque el sitio web cargó mucho peor. Establecí la estructura de tipo plano, los datos reindexados y en caché en la consola de administración.
Entonces tengo apc + Zend Optimizer + Zend Data Cache .
El primer problema es que verifiqué en tiempo de ejecución cómo funciona el despacho. Las llamadas a start_session () tardan entre 500 y 700 ms. Parece que no es un buen resultado. ¿Por qué tanto tiempo? No lo sé.
He leído este: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_key_buffer_size y descubrí las opciones óptimas para mi servidor.
Por hora:
Key_read_requests = 8887
Key_reads = 252
Key_write_request = 187
Key_writes = 146
Usted ve que 252/8887> 0.01, pero no demasiado. Es el valor óptimo que he recibido. Otros resultados comenzaron desde> 6.
Aquí está my.cnf:
key_buffer = 48M
myisam_sort_buffer = 2M
sort_buffer = 2M
read_buffer_size = 2M
join_buffer = 2M
read_rnd_buffer = 2M
max_allowed_packet = 128M
thread_stack = 192K
thread_cache_size = 16
query_cache_type = 1
myisam-recover = BACKUP
max_connections = 50
table_cache = 256
#thread_concurrency = 10
query_cache_limit = 8M
query_cache_size = 98M
3. Memcached por alguna razón no era bueno. Lo apagué. Pero el caché de datos zend y el optimizador zend aún funcionan.
4) APC parece correcto. Para cargar la acción del controlador, toma de 3 a 4 segundos por primera vez (configuré die () allí para verificarlo) y por primera vez toma de 1 a 1.3 segundos.
5) Después de varios minutos reinicé mysql obtuve un buen resultado. Las páginas se cargaban de 1,5 a 2,5 segundos. Pero ahora (después de varias horas) toma de 6 a 10 segundos. No puedo encontrar la razón.
Entonces, ¿ves alguna configuración incorrecta aquí? ¿Puede ser que mi servidor no sea adecuado para magento?
ACTUALIZACIÓN 1: aproximadamente 600 categorías y 1000 productos hoy y aproximadamente 20000 categorías (para diferentes tiendas web) y 1500-3000 productos en el futuro.
No hay muchos atributos.
ACTUALIZACIÓN 2 He notado que la consola ssh funciona demasiado lento. Reinicié el servidor y ahora funciona rápido. significa que tengo un problema con la RAM. No hay suficiente espacio.
Es el estado inicial sin apache:
total used free shared buffers cached
Mem: 2048 600 1447
ACTUALIZACIÓN 3 Lo tengo. Ahora se carga durante 0.5-1.5 segundos
Aquí está la configuración: mysql
[mysqld]
key_buffer_size = 256M
tmp_table_size = 32M
max_heap_table_size = 32M
myisam_sort_buffer = 4M
sort_buffer = 4M
read_buffer_size = 4M
join_buffer = 4M
read_rnd_buffer = 4M
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 16
query_cache_type = 1
myisam-recover = BACKUP
max_connections = 20
table_cache = 1024
innodb_buffer_pool_size = 128M
query_cache_limit = 24M
query_cache_size = 256M
php
[apc]
apc.stat=1
apc.enabled=1
apc.optimization=0
apc.cache_by_default=1
apc.shm_segments=10
apc.shm_size=256M
apc.ttl=0
apc.user_ttl=0
apc.num_files_hint=10000
;apc.mmap_file_mask="/tmp/apc"
apc.max_file_size=5M
apc.enable_cli=1
apc.mmap_file_mask="/tmp/apc.XXXXXX"
apc.slam_defense=0
apc.user_entries_hint=10000
Todo funciona perfecto, pero queda una pregunta. APC me muestra esta estadística:
¿Por qué golpes tan pequeños? ¿Algunas ideas?
xhprof
e intentar obtener una visualización de lo que está tardando más en cargar. ¿Es este un servidor de producción bajo carga o simplemente para pruebas?