Open×××单线程原因
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本文简单说一下一个几乎没有人考虑过的问题,那就是为什么Open×××被设计成单线程单进程的。我曾经苦苦等待Open×××新版本的推出,第一件事就是看其ChangeLog,然而没有发现multiXXX,
千家信息网最后更新 2025年02月03日Open×××单线程原因本文简单说一下一个几乎没有人考虑过的问题,那就是为什么Open×××被设计成单线程单进程的。我曾经苦苦等待Open×××新版本的推出,第一件事就是看其ChangeLog,然而没有发现multiXXX,我一直都不理解多核时代为何还有单进程单线程的Open×××,这个答案在我通读了Open×××的maillist之后终于有了答案。
多线程在多核系统中的最大好处就是可以最大限度的利用多个处理器核心,然而一个好的算法在多核环境中最最关注的就是如何将欲求解的问题分割成可以并行处理的多个问题,然后将其分派给不同的处理器核心去处理。在典型的C/S模型中,一般根据客户来分派线程或者进程。比如Apache就是这么做的,其实IIS也差不到哪去,而且经典的UNIX网络编程规范也建议如此做,因此人们很容易将Apache的做法看做是理所当然的,虽然有了event机制来替代单纯的per-客户-per-thread,然而其底层实现都差不到哪去,只是用户态的api改变最大。
现在看看Open×××为何仅仅使用了单个处理器核心?原因很简单,那就是在IP层无法很好分割问题,如果按照用户来分割,那么很有可能一个用户连上之后并不传输数据,从而造成线程闲置,若若按照实际访问的目标来分割,那么将会造成一个笛卡尔积的复杂局面。因此最佳的方式就是让×××的搭建着自己来完成问题的分割,然后通过注入负载均衡以及虚拟网卡bonding之类的技术来提高效率。然而可悲的是,事实上这样做的人很少,大多数人都十分满足于Open×××单线程的现有表现,我在网上google相关的Open×××提速方案,令人几乎掉泪的是搜索到的文章几乎都是我自己写的…咱也是普通一朵程序员,也有任务在身,也不是什么研究所的专职资料整理者,因此也希望能互动一把,总不能光奉献不索取吧。
多线程在多核系统中的最大好处就是可以最大限度的利用多个处理器核心,然而一个好的算法在多核环境中最最关注的就是如何将欲求解的问题分割成可以并行处理的多个问题,然后将其分派给不同的处理器核心去处理。在典型的C/S模型中,一般根据客户来分派线程或者进程。比如Apache就是这么做的,其实IIS也差不到哪去,而且经典的UNIX网络编程规范也建议如此做,因此人们很容易将Apache的做法看做是理所当然的,虽然有了event机制来替代单纯的per-客户-per-thread,然而其底层实现都差不到哪去,只是用户态的api改变最大。
现在看看Open×××为何仅仅使用了单个处理器核心?原因很简单,那就是在IP层无法很好分割问题,如果按照用户来分割,那么很有可能一个用户连上之后并不传输数据,从而造成线程闲置,若若按照实际访问的目标来分割,那么将会造成一个笛卡尔积的复杂局面。因此最佳的方式就是让×××的搭建着自己来完成问题的分割,然后通过注入负载均衡以及虚拟网卡bonding之类的技术来提高效率。然而可悲的是,事实上这样做的人很少,大多数人都十分满足于Open×××单线程的现有表现,我在网上google相关的Open×××提速方案,令人几乎掉泪的是搜索到的文章几乎都是我自己写的…咱也是普通一朵程序员,也有任务在身,也不是什么研究所的专职资料整理者,因此也希望能互动一把,总不能光奉献不索取吧。
就是
线程
问题
处理
最大
处理器
核心
用户
进程
多核
多个
客户
答案
原因
不同
可悲
复杂
普通
均衡
理所当然
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
群星怎么从存档建立服务器
fms服务器下载
局域网sql数据库嗅探
活动管理系统创建数据库
重庆和成都软件开发区别
管家婆如何建立数据库
创意网络技术服务有限公司
有网但是代理服务器没有响应
银川新华科技互联网学校
长春飞腾服务器公司
福建师范大学协和学院数据库
数据库调优的策略描述中
昆明狼牙网络技术有限公司
华为网络技术网上视频教程
甘南网络安全会议
庭审直播数据库
电脑如何安装万得数据库
软件开发选型
三级数据库技术PPT
软件开发web前端技术
网络工程 与 软件开发
深圳市堪雍商业软件开发
魔兽世界和谐服务器哪个最好
药物数据库脚本
学校网络安全风险管控措施
福利彩票网络安全
服务器主板支持sas硬盘吗
软件开发中步骤中qa的作用
互联网存储服务器搭建教程
桂林精益管理软件开发