У мене є веб-сайт magento. Немає користувачів (максимум 2-3 за раз).
Наш сервер: CPU: 2000MHz RAM: 2048Mb HDD: 50000Mb.
Я встановив ZendServerCE (apc + memcached + Zend Optimizer + Zend Кеш даних). Я вимкнувся, тому що веб-сайт завантажений набагато гірше. Я встановив структуру плоского типу, переіндексований та кешований дані в консолі адміністратора.
Тож у мене є apc + Zend Optimizer + Zend Кеш даних .
Перша проблема - це я перевірив час виконання, як працює диспетчер. Виклик start_session () займає близько 500-700 мс. Здається, це не гарний результат. Чому так довго, я не знаю.
Я прочитав це: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_key_buffer_size та з’ясував оптимальні варіанти для мого сервера.
На годину:
Key_read_requests = 8887
Key_reads = 252
Key_write_request = 187
Key_writes = 146
Ви бачите, що 252/8887> 0,01, але не дуже. Це оптимальне значення, яке я коли-небудь отримував. Інші результати починаються з> 6.
Ось мій.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. Спогад чомусь був недобрий. Я його вимкнув. Але кеш даних кеш і оптимізатор zend все ще працюють.
4. APC здається правильним. Для завантаження контролера дія займає 3-4 секунди вперше (я встановлюю die () там, щоб перевірити це), і в перший раз потрібно 1 - 1,3 секунди.
5. Через кілька хвилин я перезапустив mysql, отримав хороший результат. Сторінки завантажувались від 1,5 до 2,5 секунд. Але зараз (через кілька годин) потрібно 6-10 секунд. Я не можу знайти причину.
Отже, ви бачите тут некоректну конфігурацію? Можливо, мій сервер не підходить для магенто?
ОНОВЛЕННЯ 1: близько 600 категорій та 1000 товарів сьогодні та близько 20000 категорій (для різних веб-магазинів) та 1500-3000 продуктів у майбутньому.
Атрибутів не так багато.
ОНОВЛЕННЯ 2 Я помітив, що консоль ssh працює занадто повільно. Я перезавантажив сервер і зараз він працює швидко. це означає, що у мене проблема з ОЗП. Не вистачає місця.
Це початковий статус у апачі:
total used free shared buffers cached
Mem: 2048 600 1447
ОНОВЛЕННЯ 3 Я отримав. Зараз він завантажується на 0,5-1,5 сек
Ось конфігурація: 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
Все працює ідеально, але залишається одне питання. APC показує мені цю статистику:
Чому хіти такі маленькі? Будь-які ідеї?
xhprof
і спробував зробити візуалізацію того, що потребує часу для завантаження. Це виробничий сервер під навантаженням чи просто для тестування?