Re: [问题] 大量连线数如何降低I/O 提升传输速度

楼主: sunfox ( )   2019-05-13 11:54:50
sunfox: 首先感谢推文的乡民 给的建议
sunfox: 我既然发问 有人回答 我也应该回应
→ tjjh89017: Event driven的方式? 05/02 18:00
sunfox: 我没写过程式 也不懂程式 所以懂得没那么多
→ ckvir: 好奇的问一下 一般 server 不是都开一个process 等client, 05/05 04:52
→ ckvir: 为什么会写成只要有client 就开一个process? 05/05 04:52
→ ckvir: 不是应该一个process等client ,有 client 再开thread? 05/05 04:55
sunfox: 程式作者依这样的架构写出程式并上线 也是很多年前的事
sunfox: 当时资料量没有现在这么大 程式单纯 所耗的资源也不多
sunfox: client端对连线的速度要求还没有这么大
sunfox: 且主机只要顺顺的送出资料 一切都游刃有余
sunfox: 一晃眼过了很多年 作者只需要适时的修改程式
sunfox: 程式技能也没再用到
推 tjjh89017: 开跟关process的成本都很高,所以有时候会先开起来放, 05/06 03:41
→ tjjh89017: 有些则是一个thread负责很多client 05/06 03:41
sunfox : 现在主要是开跟关process会花时间 且未来上级机关的资料传递方式
sunfox : 有变化 如果架构不改 数据传输会延迟太多
→ leolarrel: 参考apache 的设计 05/11 12:02
对啊... 要来研究一下
推 dces4212: threadpool
这也是一个关键字 谢谢你
以上大家的建议 很谢谢
※ 引述《sunfox (野兽派的绅士)》之铭言:
: 提供服务的主机 会跑很多数据出来
: 外网 client端(windows ) 执行连线程式
: 向提供服务主机发出连线需求...
: 主机会启动一只程式供client 建立连线
: 连线建立后 主机就开始透过Socket主动且持续的传送数据到外网 windows client
: 如果外网有一千个client端要连线
: 主机上同样的程式会执行一千只
: 最近在检讨这样的系统是不是能有更好的设计
: 因为系统会花时间在程式的start 与 stop
: 如果说 外网client的的程式有50000只
: 在三个小时的时间内 都一直有client 程式 上上下下 (执行与关闭)
: 这样在IO 上与建立连线时 会浪费很多时间与机器的效能
: 要怎样去改写这样的架构
: 让速度变快 时间变短 效能更好
: 我想到的是 如 FTP
: 1000个人连FTP server FTP程式也不会跑1000只啊
: apache 也是
: 谁能给我一个方向与概念
: 谢谢
: PS 主机端的连线程式是C写的

Links booklink

Contact Us: admin [ a t ] ucptt.com