我在一个大型 Amazon EC2 Ubuntu 实例上运行 Solr。此 EC2 实例上还运行着许多其他 Rails 服务。今天,Solr 卡住了,不得不重新启动。以下是更多信息:
- 文档数量:+500万
- 产量:+100 rpm
- 平均响应时间:60 毫秒(随着我们添加更多文档,响应时间会变慢)
- 最慢响应时间:2-3 秒(直到最近才出现这种情况 - 可能是因为 Solr 无法处理太多数据)
- 正在运行的 Solr 实例数:1
- 在专用服务器上:否 - 它与我们正在运行的其他一些 Rails 服务共享。
我的问题是:如果我将 Solr 移动到专用的大型 Amazon 实例并完美配置所有内容,那么在最大吞吐量和最大索引文档数量方面我可以期待什么样的性能?
提前致谢
达伦
答案1
TL/DNR 版本:
回答这个问题的唯一方法是进行设置并进行基准测试。
长版本:
由于以下原因,这个问题无法回答:
- 你可以购买多种级别的 EC2 服务器
- EC2 是动态的(“E”代表“弹性”),因此您的速度会时常变化
- 网络的性质,尤其是广域网的性质,将极大地影响性能
- “完美配置一切”是什么意思?
- Ubuntu 的设计目标是易于使用,因此牺牲了一些性能,因此试图“完美”地调整一切可以说是毫无意义的
即使你把最令人难以接受的不可计算部分去掉(即用云服务器代替局域网上的物理盒子),回答你问题的唯一方法是加载一个与你的服务器一模一样的服务器你的SOLR 实例和 DB,然后对其进行基准测试。