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

Sidnei da Silva wrote:
> 
> 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.

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.

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

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.

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


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

Concordo.

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

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 ?


Obrigado!

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

iD8DBQFDKxNwTCq0VJ4DIPwRAuesAJ9FJtiZfjmR/eZ31cnU5nHxRU6bzACZAQI6
smxIThZ9hInqwB+FtTFQk3o=
=0eQe
-----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