消息分发服务器优化总结
来源:互联网 发布:朝鲜战争美军被俘知乎 编辑:程序博客网 时间:2024/06/18 12:48
消息分发服务器经过几天的压力测试及优化,已经可以达到单机同时服务70000个用户
在压力测试及优化的过程中,遇到了几个问题
1.数据库连接过多
由于处理用户发过过来的数据包时采用fork()新进程来处理,没有采用数据库连接池,在大数据量的情况,数据库出现连接过多的情况,
通过Mysql show processlist命令查看,发现有很多未认证连接请求,修改了数据的最大连接数,加大了参数back_log的,使数据库在
同一时间可以处理更多的连接请求。在数据库服务器和消息分发服务器在同一台服务器的情况下,将数据库服务的地址配置为localhost,
这样可以数据的传输不用经过网卡,而是直接的内存拷贝,可以加快消息分发服务器和数据库的连接速度。
2.Mysql执行效率慢
在数据表比较大的情况下,有些语句的查询明显比较耗时,通过查看mysql服务器的慢日志,将相关的sql语句log出来,
通过explain命令来分析性能,对数据表不合理的索引进行了一些优化
3.fork()性能开销过大的问题
这个版本的服务暂时不准备改动,在可以满足用户服务的前提下,以服务器稳定为第一原则,准备在下一版本采用共享内存池和进程池相接合的
框架,预先分配一定数目的进程,当收到新的数据包后,将数据包写到共享内存池,进程池中的每个进程竞争令牌,拿到令牌的去共享内存拿任务,
这样也每个进程也可以采用数据库长连接,减少不必要的数据库连接开销。
接下来的一个星期,不断完善服务器的相关功能,设计好服务器的监控程序的接口,由相关的人去实现具体的编码,做到实时监控服务
器的运作情况,在出现问题的情况下通过飞信和邮件来通知相关的负责人,以保证系统能按时上线。
- 消息分发服务器优化总结
- WebLogic服务器配置优化总结
- 应用服务器性能优化总结
- Delphi消息分发机制
- windows消息分发机制
- as3 消息分发器
- unity 消息分发
- Unity3D 消息分发
- activemq消息分发MessageDispatch
- windows消息分发机制
- 消息分发机制。
- unity 消息分发
- 消息分发知识基础
- storm消息分发策略
- RabbitMQ 公平分发消息
- RabbitMQ学习总结(6)——消息的路由分发机制详解
- SQL SERVER分发服务器
- 即时通信中服务器离线消息存储优化
- 我思念的城市
- 【学习】opensession 与getCurrentsession的区别
- 骇人听闻,VB遇到这现象,大家小心哇~
- Ubuntu软件安装两则
- BMH子串查找算法(PHP实现)
- 消息分发服务器优化总结
- U盘流行病毒autorun的分析及清除方法
- 显示最大值
- .NET学习方法总结(转)
- C++中的RTTI实现
- 网络大排档 网页设计教程网
- 没小孩和即将有小孩的兄弟姐妹,看看,关乎后代重大身体健康
- C++函数重写、重载几点小结
- Spy++的应用之千千静听播放器的控制