向 inetd(8) 里添加或从其移出某个服务通常基于该服务的负载。例如, 在多数系统上telnet进程不需要像邮件服务器那样需要很多新连接。很多时候系统管理员自己判断这个服务是否应该移出去。
我见过的一个很好的例子是,一个邮件服务,像smtp、pop. 我先建立了一个邮件服务器,它的pop3在 inetd(8) 里,而exim 是采用standalone(独立)的运行方式, 我错误地自认为它会运行的很好,因为只有很少的用户, 说白了就是我自己和一个诊断帐号。它也被设置成负责备份MX和当另一台任务量很大的服务器宕机时的中继。我测试时发现远程POP连接的滞后相当的严重,这是因为我固定地获取信件,而诊断用户不停地发送诊断,反反复复。最后我不得不把pop3服务移出了 inetd(8)。
将这个服务移出去的原因实际上很有意思. 当某一个服务的工作量加大时, 自然它会导致一个系统负荷. 这种情况下,一个服务如果在 inetd(8) 元进程里运行,如果它的负担很重,也会影响使用inetd(8)的其它服务. 如果软件复用程序收到一个特定服务的过多的请求, 它会开始影响使用inetd(8)的其它服务的性能. 这种情况的处理方法是让这个“惹事”的服务运行在 inetd(8) 外面,这样这个服务和 inetd(8) 两者的反应时间都会得到改善。
《NetBSD指南-24.9.什么时候用或不用inetd》
版主: lionux
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客