我几乎没有使用过 Solr,所以如果答案很明显的话,请耐心等待:
在 Magento Enterprise 1.11 商店系统(约 30k 种产品)中,一台机器主要服务于 Web 请求,另一台机器专用于数据库请求,在 Web 服务器机器上还是在数据库机器上运行 Solr 守护程序通常更有意义?
可以请人解释一下吗,无论这很重要,为什么?
编辑
Web 服务器机器:
Red Hat ES 5、IX E5405 四核、16 GB RAM、2x160 GB SATA RAID1
顶部 - 18:24:32 启动 139 天,8:04,1 个用户,平均负载:2.12、1.94、2.14 任务:总计 168 个,1 个正在运行,167 个正在休眠,0 个已停止,0 个僵尸 CPU:38.4%us、1.4%sy、0.0%ni、59.9%id、0.0%wa、0.1%hi、0.2%si、0.0%st 内存:总计 16431252k,已使用 15924128k,可用 507124k,缓冲区 890988k 交换:总计 2040244k,已使用 140k,可用 2040104k,缓存 11607440k
数据库计算机:
Red Hat Enterprise Linux 5、IX X3430 四核、8 GB RAM、2x450 GB SAS RAID1
顶部 - 18:28:02 启动 139 天,8:04,1 个用户,平均负载:0.16、0.23、0.24 任务:总计 109 个,1 个正在运行,108 个正在休眠,0 个已停止,0 个僵尸 CPU:1.9%us,0.5%sy,0.0%ni,95.6%id,0.5%wa,0.0%hi,1.5%si,0.0%st 内存:总计 8164004k,已使用 7863308k,可用 300696k,缓冲区 228608k 交换:总计 2097144k,已使用 120k,可用 2097024k,缓存 3584672k
答案1
当对具有类似规格的 Magento web/db 服务器进行负载测试时,我注意到 web 服务器 CPU 趋于最大,而数据库服务器 CPU 利用率则保持相当低(这是预期行为)。这让我相信,只要两个服务器都有足够的可用内存,Solr 就会在数据库服务器上更有效地运行。
top
在负载测试时观察两台服务器上的命令,亲自尝试一下。