On Thu, 23 Mar 2006, Cesar wrote:

> Em Segunda 13 Fevereiro 2006 08:19, Antonio da Silva Martins Junior escreveu:
> > Entretanto, em um servidor Unix, exceto no caso em que este seja dedicado
> > a um único serviço (desde que não seja o apache), o fato de permitir a
> > execução de vários programas simultaneamente já irá aproveitar o fato de
> > existirem vários processadores na máquina.
>
> Antonio, esse assunto me interessa. Você poderia me explicar melhor essa sua
> frase? O motivo é que meu o programa que estou desenvolvendo usa o Apache e
> eu quero otimizar meu sistema para maquinas multiprocessadas. Por enquanto
> acredito que não tenho que fazer nada pois é um CGI e a cada requisição do
> usuário um novo processo é iniciado. Se o gerenciador de processos fizer um
> bom trabalho e balancear a carga entre os processadores da maquina meu
> programa já esta pronto para se beneficiar desse recurso. Correto?

  Correto, em termos! O que eu disse é que se o servidor executa somente
uma aplicação esta aplicação ficara presa a um único processador. O Apache
por outro lado já executa n tasks em paralelo e o Scheduler irá alocar
tempo de CPU em quaisquer processadores livres.

> Mais alguns detalhes:
> O executável do CGI propriamente dito tem apenas 1,2k de tamanho, o resto do
> sistema é composto por bibliotecas dinâmicas, a idéia é otimizar os recursos
> e os tempos de carga conforme o numero de requisições aumentar.
> Como o sistema é enorme não liguei todas as bibliotecas diretamente no CGI,
> apenas as bibliotecas comuns a todo o sistema são ligados diretamente, as
> outras são carregadas com dlopen se forem necessárias.

  Não trabalhei ainda com a criação de bibliotecas dinâmicas, mas pelo que
me recordo da teoria a sua utilização irá economizar a memória da area de
código, que é compartilhada, e o tempo de carga pois a biblioteca só é
carregada uma vez para todas as instâncias/processos que a utilizem.

  Com a utilização de uma máquina multi-processada você irá perceber a
melhora de performance porque no pior caso o SO utiliza um processador e a
sua aplicação o outro. No seu caso como a sua aplicação utiliza diversas
tasks simultâneas o ganho de performance está praticamente garantido! Mas
lembre-se de otimizar o sistema como um todo! Não adianta nada várias CPUs
rápidas e pouca memória ou um disco lento (se o sistema depende de um
banco de dados). O melhor é o equilibrio entre os componentes!

  Antonio.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Antonio S. Martins Jr. - Support Analist | "Only The Shadow Knows     |
| Universidade Estadual de Maringa - Brasil|   what evil lurks in the   |
| NPD - Núcleo de Processamento de Dados   |       Heart of Men!"       |
| E-Mail: [EMAIL PROTECTED] / [EMAIL PROTECTED] | !!! Linux User: 52392 !!!  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a