Em Sexta 24 Março 2006 07:53, Antonio da Silva Martins Junior escreveu: > 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.
Ha! Agora eu entendi! Por algum motivo a primeira vez que li sua frase no outro e-mail eu achei que você tinha dito exatamente o oposto disso. Ufa, isso é um alivio! > 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. Essa é a idéia, mas como vou experimentar isso na pratica, com um projeto realmente grande, quero ter certeza que esta tudo certo... pelo menos na teoria. :-D Nos outros projetos menores e mono-tarefa sobrava tanto recurso de hardware que quase não fazia diferença quanto a compilação estática e dinâmica, exceto na carga. > 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! Sim, essa é uma boa dica! Estou usando PostgreSQL como base de dados e seguindo as dicas do manual e do grupo de usuários para deixar o sistema otimizado. Coisas como usar discos rápidos, sistemas de arquivo adequado, separar os logs de transação para outro disco, etc. Especificamente com relação a otimizar o meu sistema para maquinas multiprocessadas preferi que uma nova conexão com o banco de dados fosse aberta a cada requisição do usuário (como qualquer aplicação CGI sem recursos de persistência faria). O motivo é que o PostgreSQL cria um novo processo para cada nova conexão com o banco. Se eu usar algum meio de persistência para a conexão (via FastCGI por exemplo) isso vai diminuir o tempo gasto com a conexão o que é bom em uma maquina mono-processada mas também impede que o banco se beneficie de uma maquina multiprocessadas já que não se pode (pelo que eu sei) mover um processo de um processador para o outro. Estou apostando nesse tipo de otimização com a premissa de que maquinas multiprocessadas e processadores com múltiplos núcleos estão cada vez mais acessíveis. Abraços! Cesar Gimenes --------------------------------------------------------------------------- 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
