-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sidnei da Silva wrote:
> On Fri, Sep 16, 2005 at 03:48:16PM -0300, Jeronimo Zucco wrote:
> | > 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.
> | 
> | Sim, esse era um dos problemas. Eu configurei o cache do mysql para
> | tentar minimizar esse problema, porem o mysql fica na mesma maquina do
> | servidor do zope. As consultas são simples, apenas pelo indice, porém o
> | número de registros é grande.
> 
> Para esclarecer, fez alguma diferenca? Houve melhora?

Sim, houve grande diferença em testes que eu fiz em consultas, mas não
era especificamente para resolver esse problema.

> 
> | > | 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 :(
> | 
> | Acredito que não seja o mysqluserfolder, pois alguns usuários conseguiam
> | acessar, e quando outros tentavam entrar no site inicial, nem o site
> | inicial era mostrado. Acho que não me expliquei bem no e-mail. O uso de
> | recursos estava tão grande que mais ninguem conseguia acessar o site
> | inicial.
> 
> Isso nao exclui a possibilidade de que seja o mysqluserfolder. O que
> eu quero dizer eh que se o mysqluserfolder demorar a responder o Zope
> pode eventualmente ficar com todas as threads bloqueadas aguardando a
> resposta e outras partes do site ficarao inacessiveis.
> 

Se eu te disser que cheguei ao ponto até de tirar a autenticação,
deixando para que o usuário digita-se seu login e não pedisse senha, mas
mesmo assim não resolveu ?  Ninguém conseguia acessar o portal. Ainda
acho que não é o MySQL.


> | Existe alguma configuração de cache de senhas no mysqlUserFolder ? Mas
> | acredito que não seja esse o problema, pois o cache só será utilizado
> | quando a mesma consulta for feita, e o meu problema se deu em função de
> | acessos únicos.
> 
> Nao conheco o mysqluserfolder muito bem. Alguem que tenha usado pode
> dar uma dica.
> 
> | > | Estimamos que os acessos simultaneos ao nosso portal sejam de
> | > | aproximadamente 10000 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 10000 * 20 = 200000
> | > 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.
> | > 
> | 
> | Minha configuração do mysql, para tirar dúvidas que seja isso:
> | 
> | query_cache_type = 1
> | query_cache_size = 512M
> | query_cache_limit = 20M
> | max_connections = 300
> | key_buffer = 384M
> | max_allowed_packet = 1M
> | table_cache = 512
> | sort_buffer_size = 2M
> | read_buffer_size = 2M
> | myisam_sort_buffer_size = 64M
> | thread_cache = 8
> | thread_concurrency = 8   # sao duas CPU's com HT
> 
> /me passa a bola pros mysql-istas de plantao.

Toda dica é válida! :-)

> 
> | > | 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*.
> | > 
> | 
> | Bom, tirando a possibilidade do mysql, existe alguma coisa que eu
> | poderia ver no zope, como número de threads do python, ou configuração
> | de cache de memória de uso do Zope/mysqluserfolder ?
> 
> Eh bastante delicado analisar esse tipo de situacao, a nao ser q vc
> tenha uma forma de simular a mesma carga dos 10000 usuarios *sem*
> precisar de 10000 usuarios.
> 
> Eu fiquei sabendo que existe uma ferramenta da Rational que faz esse
> tipo de simulacao, so nao sei o nome dela.

Se alguém tiver alguma dica para testes simulando alto tráfego, por
favor me fale.
Eu já tenho como possibilidade usar o JUnit e o ptprofiler para tentar
medir o uso.

> 
> Se o problema for de as threads do zope ficarem trancadas esperando
> por resposta do mysql, da pra ir no Control Panel -> Debug Information
> bem no fim mostra as ultimas requisicoes (url e cabecalhos) ai vc ve
> quais as paginas que foram acessadas e a partir dai comeca a examinar
> o que esta deixando aquela pagina lenta.
> 
Vou tentar olhar isso (problema é o manager abrir durante esse tráfego
alto :-)

Obrigado novamente.

- --
Jeronimo Zucco
LPIC-1 Linux Professional Institute Certified
Núcleo de Processamento de Dados
Universidade de Caxias do Sul

"May the Source be with you." - An unknown jedi programmer.

http://jczucco.blogspot.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDKxhsTCq0VJ4DIPwRAiB+AJ9vt6lK2JY9bObCCqu7yLfXcAv+/wCgwGML
z3Cx0QmYVYHuXqFd4Fgfms8=
=e99N
-----END PGP SIGNATURE-----


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

 


Responder a