Sidnei da Silva escreveu:
On Fri, Sep 16, 2005 at 03:06:18PM -0300, Jeronimo Zucco wrote:
| -BEGIN PGP SIGNED MESSAGE-
| Hash: SHA1
|
| Olá, lista!
|
| Usamos zope conforme o ambiente abaixo:
| - - Zope 2.7.4-0
| - - ZCoMIX-1.0.2+ (http://sourceforge.net/projects/zcomix)
http://sourceforge.net/projects/zcomix%29
Ae!
| - - mysqlUserFolder 1.0.0
| - - python 2.3.4
| - - Red Hat Enterprise Linux ES release 2.1, kernel 2.6.11, ext2 fs
| - - MySQL-server-4.0.20
| - - Apache 2.0.50 (with HTTPS) for cache
|
| 1 Portal replicado através do Zeo e balanceado com DNS Round Robin.
|
| Hardware:
| 2 Servers HP ML350 G4 with Dual Intel Xeon 2.80GHz, 3Gb of Memory,
| without RAID, SCSI U320 with 4 disks 120gb.
|
| Disponibilizamos um documento dinâmico para os alunos (35.000), que era
| gerado após a autenticação do usuário através do mysqluserfolder e
| consultas em base MySQL.
Bem, ai ja tem dois problemas:
1. a autenticacao em mysql
2. consulta em mysql
O tempo de resposta do Zope eh a soma dos tempos que cada uma dessas
consultas leva para rodar mais o tempo de processamento da
pagina. Diferente do Apache, o Zope tem um limite baixo do numero de
threads que sao executadas ao mesmo tempo. Logo, se as consultas forem
muito pesadas vao se esgotar os recursos rapidamente.
| Os processos do python ocuparam 100% dos recursos de hardware (cpu e
| memória), e o load average cresceu rapidamente. Constatamos que os
| problemas ocorreram antes de o usuario se autenticar, acessando somente
| a pagina inicial do portal em Zope.
Possivelmente o problem esta restrito ao mysqluserfolder entao. Nunca
usei o dito cujo, mas convem lembrar que cada 'arquivo' que o Zope
serve necessita de verificacao de seguranca. Para se ter uma ideia,
fiz um teste num site Plone ontem mesmo com um servico de autenticacao
remota, e para apresentar uma pagina foram feitas 72 consultas a base
de autenticacao. Se o mysqluserfolder for esperto ele vai armazenar os
resultados da autenticacao temporariamente em cache, se nao for, bem
sao varias consultas :(
| Estimamos que os acessos simultaneos ao nosso portal sejam de
| aproximadamente 1 pessoas em um dado momento, que acabou gerando um
| DoS (Denial of Service) em nosso portal.
Digamos que cada acesso corresponde a 72 consultas somente para
autenticacao. Provavelmente eh muito menos que isso, talvez umas 20 no
seu caso. Se esse for o caso, isso geraria 1 * 20 = 20
consultas simultaneas ao mysql. Agora pergunto: O seu mysql suporta
esse numero de consultas?
Lembrando que isso eh apenas uma suposicao. O problema pode ser em
outro lugar.
| Para resolver o problema momentaneamente, tivemos que disponibilizar os
| documentos estaticos em PHP. (OLHEM SÓ)
Nao vejo nada de errado nisso. Ha solucoes que se aplicam melhor a
determinados problemas.
| Alguem teve alguma experiência em sites de grande tráfego no Zope, para
| dar alguma dica de como fazer tunning ou descobrir os pontos de gargalo?
Em geral, se a pagina eh computada uma vez e nao vai mudar por um
determinado tempo eh recomendavel setar parametros de cache no
cabecalho http e fazer o apache ou o squid armazenar a pagina
computada por um tempo determinado de acordo com certos
parametros. Assim, o Zope eh apenas requisitado no primeiro acesso.
| Temos duvida se o que esta gerando o problema eh o ZCoMIX ou o Zope, ou
| até mesmo a configuração do Apache.
Eu apostaria no mysqluserfolder, mas ja perdi varias apostas *wink*.
--
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para:
[EMAIL PROTECTED]
*Yahoo! Grupos, um serviço oferecido por:*
*Links do Yahoo! Grupos*
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! http://br.yahoo.com/info/utos.html.
Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
Links do Yahoo! Grupos
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html