elasticsearch可以作为Windows或Linux服务启动。在一个环境中运行它与在生产环境中运行它是否有更好的性能?
2 回答
这个问题的答案将是一个很大的“取决于”。我必须全心全意地回应另一个答案。我已将 Elasticsearch 作为企业级应用程序的 Windows 服务部署到 Amazon Web Services 上的生产环境,并且在调整它或在这方面寻求帮助时从未遇到任何问题。另一个答案的意义在于,官方 Elasticsearch 文档显然假设您将使用 Linux,但这是他们的问题。这并不意味着您将独自一人。
我想如果你真的想知道哪一个你可以做得更快,那么有可能获得一些类似的硬件并运行基准测试,但是谁有时间呢?我怀疑这样的实验会对互联网上最大的网站以外的任何人产生影响。
也就是说,Elasticsearch是为集群而构建的。您可以通过向其投入更多硬件来进行扩展。如果没有其他原因, Linux 必然会更便宜,因为您不必支付许可费用。除非您已经拥有硬件或虚拟机,否则您很可能会通过 Linux 获得更多收益。
使用 linux 运行 elasticsearch 的优势在于绝大多数 elasticsearch 用户都使用它,并且大部分优化工作都以 linux 为重点。关于如何在 linux 上调整和优化 elasticsearch 有很多知识。
其中很多可能移植到 Windows,但它在不同内核、文件系统、网络等的行为方式上有着根本的不同。我希望在 Windows 中一切正常,但基本上你几乎可以自己调整它并且诊断您遇到的任何问题。
我完全可以看到尝试在 Windows 中运行 Elasticsearch 的唯一原因是 1)您有可用的 Windows 服务器并希望使用它们,并且使用 Ubuntu 或 centos 等更理智的东西来格式化它们的驱动器是不可协商的 2)它很小非关键任务设置,您实际上并不关心调整事物或为遇到的任何问题获得有意义的支持,并且您碰巧有一些可用于运行弹性搜索的 Windows 机器。
因此,除非您真的想使用 Windows,否则您可能不应该使用。