Eu tenho o site magento. Não há usuários (máximo de 2 a 3 no momento).
Nosso servidor é: CPU: 2000MHz RAM: 2048Mb HDD: 50000Mb.
Instalei o ZendServerCE (apc + memcached + Zend Optimizer + Zend Data Cache). Desativei o memcached porque o site carregava muito pior. Defino uma estrutura de tipo plano, dados reindexados e armazenados em cache no console de administração.
Então, eu tenho apc + Zend Optimizer + Zend Data Cache .
O primeiro problema é que verifiquei o tempo de execução como o despacho funciona. A chamada start_session () leva cerca de 500 a 700 ms. Parece que não é um bom resultado. Por que tanto tempo, eu não sei.
Eu li este: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_key_buffer_size e descobri as melhores opções para o meu servidor.
Por hora:
Key_read_requests = 8887
Key_reads = 252
Key_write_request = 187
Key_writes = 146
Você vê que 252/8887> 0,01, mas não muito. É o valor ideal que eu já recebi. Outros resultados começaram em> 6.
Aqui está o 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 algum motivo não foi bom. Eu desliguei. Mas o cache de dados zend e o otimizador zend ainda funcionam.
4) A APC parece correta. Para carregar a ação do controlador, são necessários 3-4segundos pela primeira vez (eu defino die () lá para verificá-lo) e pela primeira vez leva de 1 a 1,3 segundos.
5) Após alguns minutos, reiniciei o mysql e obtive um bom resultado. As páginas foram carregadas de 1,5 a 2,5 segundos. Mas agora (depois de várias horas) leva de 6 a 10 segundos. Não consigo encontrar o motivo.
Então você vê alguma configuração incorreta aqui? Pode ser que meu servidor não seja adequado para magento?
ATUALIZAÇÃO 1: cerca de 600 categorias e 1.000 produtos hoje e cerca de 20.000 categorias (para diferentes lojas da web) e 1500-3000 produtos no futuro.
Não há muitos atributos.
ATUALIZAÇÃO 2 Observei que o console ssh funciona muito devagar. Reiniciei o servidor e agora ele funciona rápido. isso significa que tenho um problema com a RAM. Não há espaço suficiente.
É o status inicial sem o apache:
total used free shared buffers cached
Mem: 2048 600 1447
ATUALIZAÇÃO 3 Eu entendi. Agora ele é carregado por 0,5 a 1,5 segundos
Aqui está a configuração: 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
Tudo funciona perfeito, mas uma pergunta permanece. A APC me mostra esta estatística:
Por que bate tão pequeno? Alguma ideia?
xhprof
e tentar obter uma visualização do que está demorando mais tempo para carregar. Este é um servidor de produção sob carga ou apenas para teste?