linux下CS并发服务器开发方案
来源:互联网 发布:ipad淘宝旧版本下载 编辑:程序博客网 时间:2024/06/10 16:34
1.多线程适用于处理短连接,且打开关闭非常频繁的情景,但不适合处理长链接。
linux下每个线程会开8M栈内存,在tcp长链接情况下,
假定有10000个连接,要开10000个线程,那就需要10000*8M=80G内存,
即使调整每个线程的栈空间,也很难满足需求。内存是多线程模型的软肋。
2.在unix平台下多进程模型擅长处理长连接,开关不频繁
同样的连接需求,需要内存也不比多线程模型少,
3.同时需要长连接,而且开关很频繁,io复用模型
不要用select和poll,这两个时间复杂度为O(logN),
可以使用epoll,这种模型的效率是极高的,
可以轻松应付上千万的空连接和少量活动链接,每个链接只需要几k内核缓存区。
linux下每个线程会开8M栈内存,在tcp长链接情况下,
假定有10000个连接,要开10000个线程,那就需要10000*8M=80G内存,
即使调整每个线程的栈空间,也很难满足需求。内存是多线程模型的软肋。
2.在unix平台下多进程模型擅长处理长连接,开关不频繁
同样的连接需求,需要内存也不比多线程模型少,
3.同时需要长连接,而且开关很频繁,io复用模型
不要用select和poll,这两个时间复杂度为O(logN),
可以使用epoll,这种模型的效率是极高的,
可以轻松应付上千万的空连接和少量活动链接,每个链接只需要几k内核缓存区。
阅读全文
0 0
- linux下CS并发服务器开发方案
- Linux Epoll并发服务器开发
- 常见并发服务器方案
- 并发服务器方案
- Linux 下TCP并发服务器设计模型
- linux下高并发服务器实现
- linux下高并发服务器实现
- linux下CS模型
- Linux下Web服务器开发
- Linux下Web服务器开发
- 单服务器架构下的多线程下数据库并发更新的处理方案
- 大并发服务器开发
- 大并发服务器开发
- Linux下Apache与Jboss服务器配置整合实现方案
- linux下svn服务器搭建以及相关问题解决方案
- 服务器Linux系统下的ext文件系统修复方案
- 【Linux技术】linux下http服务器开发
- socket编程之并发服务器(CS模型改进2)
- 测试工程师面经2
- JAVA 攻城狮 第十三天
- leveldb-原理学习
- Android各大手机品牌手机跳转到权限管理界面
- unity学习日记:AssetBundle工作流程之下载与加载资源
- linux下CS并发服务器开发方案
- Java+Selenium3方法篇47-字符串切片操作
- 微信小程序三级联动地址选择器
- 哈喽摩托
- Spark Streaming编程指南
- 从 FingBugs的错误来看JAVA代码质量(五)
- 读书笔记《你不知道的JavaScript上卷》1.4提升
- SPOJ-1029-二维树状数组
- 对ScrollView 的getScrollY 的体会