Como complexo de um daemon deve ser executado através do inetd?

3

Qual é a regra geral para a qual os daemons devem ser iniciados por meio de inetd ? Atualmente, no meu servidor, sshd , apache e sendmail estão configurados para serem executados o tempo todo, em que os serviços * NIX simples são configurados para serem iniciados pelo inetd.

Eu sou o único que usa o ssh no meu computador, e as tentativas de invasão não são um problema porque eu o tenho executando em uma porta não padrão, e meu servidor HTTP recebe talvez 5 acessos por dia que não são GoogleBot.

A minha pergunta é: quais são os benefícios vs. os acertos de desempenho associados à execução de um daemon complexo como sshd ou apache através de um daemon superserver, e quais sucessos ou falhas, se houver, você já executou seus próprios daemons dessa maneira? ?

    
por amphetamachine 28.05.2010 / 19:58

2 respostas

4

A situação será em uma circunstância por caso. De um modo geral, a menos que você tenha um motivo específico para rodar em um super servidor, é melhor não fazê-lo. A execução em um super servidor adiciona sobrecarga adicional com carga alta, pois cada conexão gera um novo processo.

O Apache foi projetado para estar sempre em execução. É segmentado e inteligentemente gerencia os recursos do sistema.

O inetd e outros super servidores eram originalmente mais adequados para daemons que não tinham a capacidade de interagir com sockets dentro de seu código nativo.

    
por 28.05.2010 / 20:11
1

A complexidade do daemon não é realmente o problema. A frequência de uso é. O xinetd permite aumentar o registro e, dependendo da configuração, uma camada extra de segurança. Todos os daemons que você mencionou podem ser e são executados em um super servidor em algumas configurações.

Se você raramente usa o daemon, considere executá-lo no super servidor. Isso permitirá que você reduza o número de daemons em execução e a sobrecarga resultante.

O inetd eo xinetd têm alguns serviços muito simples incorporados. Esses serviços devem ser desativados, a menos que sejam necessários. Outros serviços não possuem uma interface do daemon, portanto, devem ser executados por um super servidor. Muitos serviços que possuem recursos de daemon de rede, possuem sinalizadores que os informam que estão sendo executados no inetd.

Você deve considerar a sobrecarga de inicialização e a estabilidade da configuração antes de executar daemons em um super servidor. Uma sobrecarga de inicialização pesada é um dos motivos para executar um serviço raramente usado como um daemon. Os serviços que você listou são geralmente muito usados quando instalados, então são executados como daemons.

O Apache é otimizado para ser executado como um daemon. Se for muito usado, é melhor executá-lo como um deamon.

Os servidores de correio geralmente fornecem um novo servidor para cada chamada recebida, o que tem pouca sobrecarga na maioria dos sistemas operacionais. Se não for usado como um hub de correio ou entrega de sites remotos, ele não deverá estar ouvindo em nenhum endereço diferente de localhost. Ele não precisa fazer isso a menos que você tenha programas em execução no servidor que usam TCP / IP para enviar e-mail via host local.

O sshd tem uma sobrecarga de inicialização relativamente baixa, exceto dados aleatórios para criptografia. Ele requer um bom número de dados aleatórios, que podem não estar prontamente disponíveis se forem executados em um super servidor.

    
por 28.05.2010 / 22:52