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?

| > | 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.

| 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.

| > | 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 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.

-- 
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] 
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