【发布时间】:2013-09-21 19:14:34
【问题描述】:
我运行一个大型的 Minecraft 服务器,Minecraft 服务器端是单线程的。一切都在主游戏循环中完成。如果 Mojang 让 Minecraft 服务器端多线程,Minecraft 服务器每年可以通过租用更少的硬件来节省 200 万美元。
反正我听说过这些谣言和理论。我从来没有能够谷歌它并弄清楚。
有没有采用多核cpu,并将其转换为单核单线程?
我一直在推测虚拟机管理程序软件将运行多线程,如果它可以配置为单核,它会将多核转换为单核。
我带着这个想法联系了我的 Java 程序员朋友。他告诉我这是不可能的,因为不可能每个单独的线程都知道该做什么。我不记得他到底说了什么,但他基本上说这是不可能的。
Minecraft 服务器每月花费超过 700 美元租用超频至 4.5 ghz 的硬件。为什么?因为默认服务器的价格为 100-150,价格为 3.8 到 4.5。
超频的服务器将单线程性能提高 1/8。这将导致服务器容纳更多玩家。服务器可以容纳的玩家越多,它可以赚的钱就越多。
因此,与其购买超频服务器,不如购买 quad proq E5 服务器并将它们连接到一个线程中,从而打破性能和玩家数量的所有记录。
我知道最有效的方法是让 mojang 让我的世界多线程。这需要完全重写所有代码。
他们不想那样做。我的世界帐户费用为 26 美元。他们已经卖出了2000万。他们在滚滚滚滚滚滚滚滚,进行愚蠢的内容更新,而不是将我的世界服务器修复为多线程。
甚至我的世界游戏客户端也不是多线程的。
那么问题来了,有没有可能组合多个cpu核心来实现神级的单线程性能呢?如果有,怎么做?
我听说可以做到,但开销会很大。
无论如何计算开销?
【问题讨论】:
标签: java multithreading performance minecraft