摘要: 发现自己还是缺少目标,应该所有的服务器都是同种类型的,最优的架构都是类似的,不同的只是服务器之间的逻辑或者业务,这段时间学习nginx,自己最缺少坚持!!!!! 阅读全文
posted @ 2012-05-03 23:42 brucexu 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 服务器开发一个很重要的功能在于怎么处理内存。类似epoll开发模块,read或者write都是non-block的,怎么设计一套合理的buffer机制尤为重要,这个暂时没有好的思路,正在看nginx实现。刚才看了以前游戏的底层实现,大概如下定义一个4096byte buf,然后read数据到buf,解析buf中包,如果buf中有3个半包,处理前3个包,然后接着read,这时,rd_ptr和wr_ptr都在不断的移动,如果wr_ptr触尾了则移动buf尾部的数据到head,然后置下rd、wr指针,然后接着read这里感觉移动过程是不优化的,应该把buf当做一个环来使用,环满了则暂时不读,先处理消 阅读全文
posted @ 2012-05-03 23:08 brucexu 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 记得以前做游戏时,就出现了一个问题,我们鼠标从背包物品上移动时,应该会出现物品的tips信息。在我们的游戏中,从背包的左边格子移动到右边格子时,tips信息总是出现的太慢。这是一个问题。另外一种现象是点击任务NPC后,出现弹框,点击接受任务时从会转一会圈(前端设置了必须后端有消息返回才停止转圈)。而这两个问题其他网页游戏好像都没有,所以我们很奇怪,因为我负责任务模块。所以我对第两个问题还是很关注,一直以为的后端太卡了。至于在哪里则找不到。后来我们组长对这个过程进行抓包分析后知道是服务器返回消息太慢导致。后来我们就设置了tcp_nodelay,效果很明显,很多响应都快了。其他同事都感觉太神奇了。 阅读全文
posted @ 2012-05-03 21:31 brucexu 阅读(2641) 评论(0) 推荐(0) 编辑