1000 requisições, não aquenta?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

Aqui:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

Vc configura essas propriedades no arquivo server.xml.

Algo +/- assim:



[]'s

SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Só para informar, tirei a parte do código que grava os dados em um arquivo e mesmo assim quando chega na requisição 950 dá erro.....

www.bau-de-dev.com
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

E como estão aquelas configurações que eu falei ?

SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

na server.xml está assim:

This message was edited 1 time. Last update was at 19/02/2008 11:27:39


www.bau-de-dev.com
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

Tenta aumentar esse maxthreads aí e fazer o teste novamente.


SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Agora o server.xml está assim:



Deu um aumento nas requisições que ele passou a aceitar, mas muito pouco, foi de 950 para 976

E vou colocar também os erros que eu achei no log:

- no catalina.out



e no localhost.2008-02-19.log:

www.bau-de-dev.com
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

java.net.BindException: Address already in use:8080


Esse erro ele dá quando tem alguem já ouvindo nessa porta. Geralmente é o tomcat mesmo que vc fechou e a porta ñ foi liberada.
Pra resolver esse problema, vc pode usar um programa chamado TCPView (se for windows). Com esse programa dá pra vc fechar
o processo e liberar a porta que está bloqueada - 8080.

SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Vou mudar a porta do tomcat para ver se erro pode ser isso.

E fiz mais um teste sendo que o resultado deu igual aos outros só fo aceito 972 requisições de 1000 e fiz mais requisição, depois das 1000, só que pelo browser e recebi este erro:




Será que uns dos motivos dos erros pode estar sendo criado pelo Log4J? Estava vendo alguns artigos na internet e vi que tem como "juntar" o Log4J com o tomcat, alguém saberia fazer essa junção?

This message was edited 4 times. Last update was at 19/02/2008 14:29:05


www.bau-de-dev.com
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

nbluis wrote:Deixe seus properties em memória. (economiza IO)

Utilize uma maneira melhor de escrever esse arquivo(de preferencia não escreva em arquivo a cada requisição).

Se for utilizar arquivos mesmo, utilize NIO.

Transfira o máximo de dados possíveis para a memória(cache) para aumentar a sua performance
.

Tente diminuir ao máximo a criação de objetos por requisição.


Faça o que o nbluis disse algums posts atrás.
A cada requisição vc abre esse properties aí. Isso ae tá matando.

SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Funcionou as 1000 requisições........
Fiz todas as configurções do tomcat faladas anteriormente e coloquei a servlete para abrir uma única vez 2 arquivos diferente, deixando essa parte em memória.
Só que quando chega a 1600 requisiçõe o tomcat passa a ficar lento e fica processsando praticamente uma requisição por segundo ou até mais tempo.
Teria como aumentar ainda mais este desempenho?

Abaixo segue como ficou a configuração da server.xml:


www.bau-de-dev.com
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

Tem os limites da máquina também né. Talvez se vc aumentar a memória, mas é mta coisa simultânea, paga-se o preço do escalonamento dessas threads aí.
Use um profiler para descobrir os gargalos, não é uma tarefa fácil. Dê uma pesquisada em mais parâmetros de configuração.

SCEA 5
[MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

O tomcat tem para ele 1Gb de memória....
Agora estamos colocando na máquina tb o apache para que ele fique integrado com o tomcat, ficando assim o apache para requisições web e o tomcat para aplicações somente.
E como seria fazer um cluster com o tomcat, tem alguma idéia?

www.bau-de-dev.com
LeoMarola
JavaGuru
[Avatar]

Membro desde: 17/07/2006 10:35:11
Mensagens: 201
Localização: Rio de Janeiro
Offline

Bom dia Jedi,

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

Gooogle...



@Test

SCJP 5
SCWCD 5
SCBCD 5
SCEA 5 (Starting..)

[MSN]
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

Vc tbm pode aproveitar que já vai ter o apache na "frente", e colocar ele pra distribuir as requisições e fazer o load-balance.


SCEA 5
[MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team