magento 웹 사이트가 있습니다. 사용자가 없습니다 (한 번에 최대 2-3).
우리의 서버는 : CPU : 2000MHz RAM : 2048Mb HDD : 50000Mb.
ZendServerCE (apc + memcached + Zend Optimizer + Zend Data Cache)를 설치했습니다. 웹 사이트가 훨씬 최악으로로드 되었기 때문에 memcached를 해제했습니다. 관리 콘솔에서 플랫 유형 구조, 재색 인화 및 캐시 된 데이터를 설정했습니다.
그래서 apc + Zend Optimizer + Zend Data Cache가 있습니다.
첫 번째 문제는 런타임이 디스패치 작업을 확인하는 방법입니다. start_session () 호출에는 약 500-700ms가 걸립니다. 좋은 결과가 아닌 것 같습니다. 왜 이렇게 오래인지 모르겠어요
나는 이것을 읽었습니다 : 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에서 시작했습니다.
다음은 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가 좋지 않았습니다. 나는 그것을 해제했다. 그러나 zend 데이터 캐시 및 zend 최적화 프로그램은 여전히 작동합니다.
4. APC가 올바른 것 같습니다. 컨트롤러 작업을로드하는 데 처음 3-4 초가 걸리고 (확인하기 위해 die ()를 설정했습니다) 처음으로 1-1.3 초가 걸립니다.
도 5. 몇 분 후 mysql을 다시 시작하면 좋은 결과를 얻었습니다. 페이지가 1.5 초에서 2.5 초로로드되었습니다. 그러나 지금 (몇 시간 후) 6-10 초가 걸립니다. 이유를 찾을 수 없습니다.
여기에 잘못된 구성이 있습니까? 내 서버가 magento에 적합하지 않을 수 있습니까?
업데이트 1 : 오늘날 약 600 개의 카테고리와 1000 개의 제품과 다른 웹 스토어의 경우 약 20000 개의 카테고리와 향후 1500-3000 개의 제품이 있습니다.
속성이 많지 않습니다.
업데이트 2 ssh 콘솔이 너무 느리게 작동한다고 들었습니다. 서버를 재부팅하면 빠르게 작동합니다. RAM에 문제가 있음을 의미합니다. 공간이 부족합니다.
아파치없이 초기 상태입니다.
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
로드에 가장 많은 시간이 걸리는 것에 대한 시각화를 시도합니다. 이 서버는 부하가 걸리거나 테스트 용으로 만 사용됩니까?