首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inetd或不inetd...什么时候我应该为我的网络服务器程序使用inetd?

inetd或不inetd...什么时候我应该为我的网络服务器程序使用inetd?
EN

Stack Overflow用户
提问于 2008-12-24 05:49:05
回答 5查看 5.6K关注 0票数 5

有没有人能给出一组简明的现实考虑因素,来决定是否使用inetd来管理充当网络服务器的程序?

(如果使用inetd,我认为它改变了程序中网络代码的要求,所以我认为它肯定是与编程相关的,而不是一般的IT)

这个问题是基于我所见过的一个实现,该实现使用由inetd管理的控制程序来启动一个网络侦听器,然后该侦听器将永远运行,并承担持续而沉重的负载。它似乎不太适合教科书中的inetd用法(按需、不常使用、轻量级),这让我对更一般的问题产生了兴趣。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-12-24 06:38:40

这取决于您的服务的使用模式。如果您的守护进程的启动时间很短,并且您希望它不经常使用,那么inted可能是一个很好的选择。它减少甚至消除了编写任何额外的网络代码的需要。

如果您的守护进程更重量级或更频繁使用,您可能更好地独立编写它。您可以很容易地编写一个init.d脚本和一些conf.d配置,这样管理员就不会更难管理它了。如今,大多数编程语言都有易于使用的套接字库,因此在许多情况下,网络代码甚至可能并不那么困难。

在我的经验中,我发现现在很少有管理员熟悉inetd。大多数守护进程只提供自己的init脚本。事实上,在我管理的几百个系统中,我根本想不出有哪一个系统能通过inetd启动任何东西。这是值得考虑的事情。

票数 3
EN

Stack Overflow用户

发布于 2008-12-24 05:58:09

连接到inetd将使您的服务从操作的角度更容易管理,因为inetd允许sysadmin几乎控制与您的程序的所有网络通信发生的方式。但是,它需要您对您的程序进行一些代码更改。而且,它可能没有让你的程序一开始就像一个守护进程那样高效。

编辑:我个人从不使用inetd,总是选择将服务器进程编写为独立的守护进程。

票数 2
EN

Stack Overflow用户

发布于 2008-12-24 06:40:07

我认为在决定使用inetd时,另一个值得考虑的因素是处理请求的进程平均消耗多少内存?如果这是相当高的,那么在高负载下,您可能会耗尽内存(因为inetd forks)。同样的服务器可以以多线程或选择轮询的方式实现,可能允许每个连接有更高的负载/更少的内存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/390847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档