A aplicação deste estudo foi realizada em um ambiente multi-processador, com a estimativa de 20 milhões de acessos mês de visitantes. O equipamento utilizado é um IBM xServer 4 Xeon HT, 4G ram, 2x36G HD SCSI e o sistema operacional Debian www.debian.org Woody GNU/Linux Kernel SMP version 2.4.26. A sigla HT significa que neste caso o sistema operacional SMP irá identificar 2x o número de processadores HT, ou seja, 2x4=8 processadores Xeon. Este é um ambiente multi-processador com 8 processadores.
Inicialmente configuramos o zope (2.7.0) na sua forma padrão, 4 threads, sistema de armazenamento com o ZODB e depois alteramos para:
Quando nos deparamos com o problema pela primeira vez, percebemos então que o Zope nunca rodava em mais do que um processador, ficou claro que o efeito do GIL (Global Interpreter Lock) compromete a utilização dos processadores em um ambiente multiprocessado. Este efeito passou a ser o calcanhar de Aquiles para a escalabilidade do servidor.
Como usar os outros processadores? Esta foi a questão que fez acreditarmos que o modelo de arquitetura com a implementação do ZEO (Zope Enterprise Objects) fosse a resposta.
krishna 2005-09-16