如何利用多核cpu提高游戏服务器性能

时间:2010-12-17 02:36:07

标签: javascript c concurrency network-programming node.js

如何使用mutil-core cpu提高游戏服务器的性能 我的观点:

  1. 一个繁忙的过程让一个核心忙,如果只有一个繁忙的过程,非常糟糕。
  2. 多进程进程侦听不同端口的并发连接
  3. 多进程无法直接共享内存数据。他们需要沟通。
  4. 他们可以在socket,fp socket和redis中进行通信
  5. 将游戏服务器分成不同的功能,每个功能都是一个独立的过程,一些功能可以是并行的过程。
  6. 如果我的观点是正确的,我的问题是:

    什么是流程之间进行通信的最佳方式,并保持数据同步,最好的方法是快速而简单。

    我正在使用nodejs,但我认为这个主题与c相同。

    编辑:

    按功能进行分片或分离,这是更好的

2 个答案:

答案 0 :(得分:2)

关于互联网上的内容有很多讨论,所以我只是加入链接而不是重复他们所说的内容:

这些链接显示了创建安全且设计良好的并行解决方案的最佳实践。

我建议创建一个线程池来处理连接。每个连接一个线程。这是服务器的常见“模式”。

答案 1 :(得分:0)

node.js的一种方法是使用ØMQ,它允许您使用相同的简单BSD套接字兼容API在线程,进程和服务器之间进行通信。

这是node.js绑定尝试:

https://github.com/JustinTulloss/zeromq.node