没有合适的资源?快使用搜索试试~ 我知道了~
服务器开发经验小汇总
需积分: 9 8 下载量 8 浏览量
2010-11-08
13:51:38
上传
评论
收藏 2KB TXT 举报
温馨提示
试读
2页
Linux服务器, Windows服务器, 服务器经验汇总 Linux服务器, Windows服务器, 服务器经验汇总
资源推荐
资源详情
资源评论
服务器程序设计的一点体会
一个高效,稳定的服务器对于项目的成功至关重要,是不间断地对用户提供服务,创造美好
体验的关键。而架构良好服务器程序需要良好的程序功底,需要处理好几个方面的问题。
并发问题
现在服务器程序都是跑在多核,甚至多CPU主机上,如果充分利用强大的CPU是程序员面对的挑战。
现在主要使用线程池技术,程序启动时创建好特定数量的线程,使其能够并发处理接收到的请求,
以此利用多核CPU,提高系统吞吐量。但同时也引入了并发性问题,给程序构造带来复杂性,不得
不引入锁,这也要求合理的利用锁,注意锁的方式和范围,使锁对性能的开销降到最低。
另外,也通常将服务器功能分散到多个Server上,既多进程,如此每个Server可以单独设计,简化
了实现的难度,同时一部分服务器宕机时不至于影响其他服务。但是多Server的方式也有弊端:
系统调试困难,网络环境并不是总是可靠,正确高效管理多个连接对程序员也是挑战,部署困难等,
同时Server之间太多的Round Trip对性能的影响也不容小觑!
内存问题
对于使用托管代码(Manage Code,像Java, C#)写的服务器一般没有这个方面的问题,而使用本地代码
(Native Code,主要是C/C++)写的服务器,内存问题对于很多程序员都是一场噩梦,没有因内存问题
而吃大苦头的程序员也不算真正强大。主要有几种方法:使用内存池技术,避免过于频繁地向系统
申请和释放小块的内存,造成大量的内存碎片;对于内存泄露,有专门的检查工具,比如Win32的
umdh, 可以清晰显示出某段时间内申请的内存是由那些调用栈申请的,这对于检查Memory Leak
非常重要;对于内存的越界访问,只有提高程序员的自身专业素质了。
IO问题
IO最容易程序服务器程序的性能瓶颈,特别是对于经验不足的服务器程序员。完成良好的IO处理模块
着实不易。对于网络IO,Win32提供了完成端口(completion port), Linux提供了select, pool, epool
等机制,这些都可以用来处理大量的网络接入,得到很高的数据吞吐量,特别是Win32提供的完成端口
一个高效,稳定的服务器对于项目的成功至关重要,是不间断地对用户提供服务,创造美好
体验的关键。而架构良好服务器程序需要良好的程序功底,需要处理好几个方面的问题。
并发问题
现在服务器程序都是跑在多核,甚至多CPU主机上,如果充分利用强大的CPU是程序员面对的挑战。
现在主要使用线程池技术,程序启动时创建好特定数量的线程,使其能够并发处理接收到的请求,
以此利用多核CPU,提高系统吞吐量。但同时也引入了并发性问题,给程序构造带来复杂性,不得
不引入锁,这也要求合理的利用锁,注意锁的方式和范围,使锁对性能的开销降到最低。
另外,也通常将服务器功能分散到多个Server上,既多进程,如此每个Server可以单独设计,简化
了实现的难度,同时一部分服务器宕机时不至于影响其他服务。但是多Server的方式也有弊端:
系统调试困难,网络环境并不是总是可靠,正确高效管理多个连接对程序员也是挑战,部署困难等,
同时Server之间太多的Round Trip对性能的影响也不容小觑!
内存问题
对于使用托管代码(Manage Code,像Java, C#)写的服务器一般没有这个方面的问题,而使用本地代码
(Native Code,主要是C/C++)写的服务器,内存问题对于很多程序员都是一场噩梦,没有因内存问题
而吃大苦头的程序员也不算真正强大。主要有几种方法:使用内存池技术,避免过于频繁地向系统
申请和释放小块的内存,造成大量的内存碎片;对于内存泄露,有专门的检查工具,比如Win32的
umdh, 可以清晰显示出某段时间内申请的内存是由那些调用栈申请的,这对于检查Memory Leak
非常重要;对于内存的越界访问,只有提高程序员的自身专业素质了。
IO问题
IO最容易程序服务器程序的性能瓶颈,特别是对于经验不足的服务器程序员。完成良好的IO处理模块
着实不易。对于网络IO,Win32提供了完成端口(completion port), Linux提供了select, pool, epool
等机制,这些都可以用来处理大量的网络接入,得到很高的数据吞吐量,特别是Win32提供的完成端口
资源评论
juniorli
- 粉丝: 65
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功