J'ai le site Web de magento. Il n'y a aucun utilisateur (max 2-3 à la fois).
Notre serveur est: CPU: 2000MHz RAM: 2048Mb HDD: 50000Mb.
J'ai installé ZendServerCE (apc + memcached + Zend Optimizer + Zend Data Cache). J'ai désactivé Memcached, car le site Web était bien pire. J'ai défini une structure de type plat, réindexé et mis en cache des données dans la console d'administration.
J'ai donc apc + Zend Optimizer + Zend Data Cache .
Le premier problème est que j'ai vérifié à l'exécution comment fonctionne la répartition. L'appel start_session () prend environ 500 à 700 ms. Semble son mauvais résultat. Pourquoi si longtemps, je ne sais pas.
J'ai lu celui-ci: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_key_buffer_size et trouvé des options optimales pour mon serveur.
Par heure:
Key_read_requests = 8887
Key_reads = 252
Key_write_request = 187
Key_writes = 146
Vous voyez que 252/8887> 0,01, mais pas trop. C'est la valeur optimale que j'ai jamais obtenue. D'autres résultats ont commencé à partir de> 6.
Voici 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 pour une raison quelconque n'était pas bon. Je l'ai éteint. Mais le cache de données zend et l'optimiseur zend fonctionnent toujours.
4. APC semble correct. Pour charger l'action du contrôleur, cela prend 3-4 secondes pour la première fois (j'y place die () pour le vérifier) et pour la première fois cela prend 1 à 1,3 seconde.
5. Après plusieurs minutes, j'ai redémarré mysql, j'ai obtenu un bon résultat. Les pages se chargeaient de 1,5 à 2,5 secondes. Mais maintenant (après plusieurs heures), cela prend 6 à 10 secondes. Je ne trouve pas la raison.
Voyez-vous donc une configuration incorrecte ici? Peut-être que mon serveur ne convient pas à magento?
MISE À JOUR 1: environ 600 catégories et 1000 produits aujourd'hui et environ 20000 catégories (pour différentes boutiques en ligne) et 1500-3000 produits à l'avenir.
Il n'y a pas beaucoup d'attributs.
MISE À JOUR 2 J'ai remarqué que la console ssh fonctionne trop lentement. J'ai redémarré le serveur et maintenant cela fonctionne rapidement. cela signifie que j'ai un problème avec la RAM. Il n'y a pas assez d'espace.
C'est le statut initial sans apache:
total used free shared buffers cached
Mem: 2048 600 1447
MISE À JOUR 3 Je l'ai. Maintenant, il est chargé pendant 0,5-1,5 s
Voici la configuration: 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
Tout fonctionne parfaitement, mais une question demeure. APC me montre cette statistique:
Pourquoi frappe si petit? Des idées?
xhprof
et essayais d'obtenir une visualisation de ce qui prenait le plus de temps à charger. S'agit-il d'un serveur de production sous charge ou simplement pour des tests?