如何设计极限强度且高效运行的压榨机器与Hack应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2974个文字,预计阅读时间需要12分钟。
《对《对话网友 - TCP一千连接系统设计》的简要评价》
文章后回复中,简短的评论未能充分说明问题,仅对个别文意进行了解释。对于一般应用,操作系统足以满足需求,但对于极限应用,操作系统的性能往往不足以应对。
在《对话网友 - TCP一万连接系统设计》文后回复中,短短的评论不足以说明问题,于是单独撰文解释。
对于一般的应用来说,操作系统足以对付,对于极限应用来说,操作系统往往就成了我们的障碍,这里的障碍有两个意义,第一个意义是,它出于某种考虑,而禁止了许多可以提高性能的机制,是不能也,另一个意义是,它限制了我们的思维,是不为也。
由于操作系统要考虑多种方面的应用,因此在设计时做了很多防御性的措施,而对于具体的应用来说,这些措施往往不是最佳的,必要时,我们需要针对自己的应用进行定制,就像Google修改Linux的文件系统一样,为了实现极限的网络应用,我们需要对操作系统进行Hack。对极限应用来说,传统的网络编程模型根本就是不够看的。
先列举几个应用场景:
场景1:SmartBit是个很NB的协议测试工具,但是它只能测试一些最基本的协议。如果要测试一些更广泛的协议或者自定义协议,只能自己编写测试工具了,但是自己编写的测试工具受操作系统限制,如果使用传统的编程模型,很难达到超高的性能。
场景2:有一些应用,这些应用的逻辑比较固定,而同时对性能要求又极高,比如说,各种专门的服务器,时间服务器啊,DNS服务器啊,大型的仿真系统啊,交换机啊,路由器啊,IDS啊等等,当然,这些都可以通过硬件来解决,但如果能用通用机器通用的软件来解决不更好吗?
对于这些应用,就需要抛弃传统的网络应用概念了,什么Socket啊,IOCP啊,全见鬼去吧——都不够看。
本文共计2974个文字,预计阅读时间需要12分钟。
《对《对话网友 - TCP一千连接系统设计》的简要评价》
文章后回复中,简短的评论未能充分说明问题,仅对个别文意进行了解释。对于一般应用,操作系统足以满足需求,但对于极限应用,操作系统的性能往往不足以应对。
在《对话网友 - TCP一万连接系统设计》文后回复中,短短的评论不足以说明问题,于是单独撰文解释。
对于一般的应用来说,操作系统足以对付,对于极限应用来说,操作系统往往就成了我们的障碍,这里的障碍有两个意义,第一个意义是,它出于某种考虑,而禁止了许多可以提高性能的机制,是不能也,另一个意义是,它限制了我们的思维,是不为也。
由于操作系统要考虑多种方面的应用,因此在设计时做了很多防御性的措施,而对于具体的应用来说,这些措施往往不是最佳的,必要时,我们需要针对自己的应用进行定制,就像Google修改Linux的文件系统一样,为了实现极限的网络应用,我们需要对操作系统进行Hack。对极限应用来说,传统的网络编程模型根本就是不够看的。
先列举几个应用场景:
场景1:SmartBit是个很NB的协议测试工具,但是它只能测试一些最基本的协议。如果要测试一些更广泛的协议或者自定义协议,只能自己编写测试工具了,但是自己编写的测试工具受操作系统限制,如果使用传统的编程模型,很难达到超高的性能。
场景2:有一些应用,这些应用的逻辑比较固定,而同时对性能要求又极高,比如说,各种专门的服务器,时间服务器啊,DNS服务器啊,大型的仿真系统啊,交换机啊,路由器啊,IDS啊等等,当然,这些都可以通过硬件来解决,但如果能用通用机器通用的软件来解决不更好吗?
对于这些应用,就需要抛弃传统的网络应用概念了,什么Socket啊,IOCP啊,全见鬼去吧——都不够看。

