我有magento网站。没有任何用户(一次最多2-3个)。
我们的服务器是:CPU:2000MHz RAM:2048Mb HDD:50000Mb。
我安装了ZendServerCE(apc + memcached + Zend Optimizer + Zend数据缓存)。我关闭了memcached,因为网站加载情况更糟。我在管理控制台中设置了平面类型结构,重新索引和缓存的数据。
所以我有apc + Zend Optimizer + Zend数据缓存。
第一个问题是我检查了运行时调度如何工作。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有问题。没有足够的空间。
这是apache的初始状态:
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
尝试获取最耗时的加载内容的可视化。这是生产服务器负载还是仅用于测试?