new web game server

做压力测试时,发现服务器性能还是很有问题,目前的瓶颈主要在两个地方:

1 mysql;服务器是8核cpu,压力大时mysql的cpu占用率达到100%左右,我的理解是把一个cpu占满了。

    php-fpm-slow.log里面可以看到很多操作mysql的地方都超时了。

2 php本身;在一些复杂逻辑的操作,比如战斗,php本身执行时间就比较长,再加上mysql的延迟,叠加效果更明显。


于是考虑下一个版本服务器的作法,想法是把性能提升到一个绝对没有问题的高度,这样写逻辑时就不用畏首畏尾的,可以大幅度提升开发效率。

目前想到的方案是用mongoDB代理mysql,移除掉redis和memcache, 用lua代替php,这样对于非ARPG的web game来说应该说足够用了。


架构大概如下所示:


C++代理服务器 ----->   C++游戏服务器 --> LUA 游戏逻辑 --> MongoDB


我打算把这个服务器放在google code上面,开源出来,对一些新手有所帮助。

由于公司项目已经使用了boost asio,为了不必要的麻烦,准备使用go 来代替c++,性能应该差别不大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值