Será que está arquitetura agüenta?

Ola!!!

Galera a empresa na qual estou trabalhando possui um sistema que utiliza basicamente as seguintes tecnologias JDBC, Servlet, TomCat, MySQL e MVC. Sou novo aqui e ainda estou analisando o sistema deles mas eu não tenho experiências com essa tecnologias que de fato, já estão ultrapassada. Eu trabalhava com EJB, Struts e Oracle, mas sou desenvolvedor Jr. ainda!!!
Mas a minha duvida eh o seguinte o pessoal aki está querendo colocar o sistema deles em um Data Center onde vai ter ± 40mil acesso!!! Muito não??? Será que vai agüentar??? Essa eh minha dúvida e a do diretor!!!

Agradeço qualquer ajuda!!!
Obrigado

Olha eu sei que não vai ajudar muito mas no site da
globalcode,www.globalcode.com.br, tinha um pdf falando sobre o jmetter parece que testa a capacidade da aplicação.
Qual nome da sua empresa???

±40mil acessos ?

Simultâneos ?
Por minuto ?
Por hora ?
Por dia ?
Por mês ?
Por ano ?
Em toda a vida do software ?

Depende.
Mas uma dica muuuuuuuuuuuuuuito importante.
Não seja megalomaniaco, o meio termo que define o mais simples e necessário é o ideal.

por q não aguentaria?

tudo depende da configuração, e do conhecimento/experiência de quem for configurar.

existe formas de amenizar os acessos usando proxy/apache para conteúdos estáticos.

jogar com as threads do tomcats, e também connections pools, e claro hardware.

só não entendi bem uma coisa… por q tecnologias ultrapassadas!? ao meu ver não tem nada de ultrapassado, talvez as versões e design, mas em termos de tecnologia não tem nada de ultrapassado.

és um daqueles q vive num mundo q só existe oracle? desculpa mas struts sim é tecnologia ultrapassada… meu ponto de vista.

e ae rodrigo.melo, cara isso depende muito como seu projeto ‘foi implementado’, como está a escalabilidade de sua aplicação,
ai vc você pode avaliar esse tipo de questão.
Quanto as tecnologias JDBC, Servlet, TomCat, MySQL e Metodologia( MVC ), isso pra mim não influência em nada, é como eu disse
acima depende de como o seu projeto foi implementado…

[quote=nbluis]±40mil acessos ?

Simultâneos ?
Por minuto ?
Por hora ?
Por dia ?
Por mês ?
Por ano ?
Em toda a vida do software ?

Depende.
Mas uma dica muuuuuuuuuuuuuuito importante.
Não seja megalomaniaco, o meio termo que define o mais simples e necessário é o ideal.[/quote]

Então pode chegar a 40 mil acesso diariamente!!!
Obrigado pela dica!!!

[quote=eduveks]por q não aguentaria?

tudo depende da configuração, e do conhecimento/experiência de quem for configurar.

existe formas de amenizar os acessos usando proxy/apache para conteúdos estáticos.

jogar com as threads do tomcats, e também connections pools, e claro hardware.

só não entendi bem uma coisa… por q tecnologias ultrapassadas!? ao meu ver não tem nada de ultrapassado, talvez as versões e design, mas em termos de tecnologia não tem nada de ultrapassado.

és um daqueles q vive num mundo q só existe oracle? desculpa mas struts sim é tecnologia ultrapassada… meu ponto de vista.[/quote]

eduveks, vc poderia me informar alguns sites ou tutoriais com dicas de configuração proxy/apache, threads do tomcats e connections pools.
Ehh tenho q rever meus conceitos pois vivia no mundo Oracle!!! Onde trabalhava com JDevelop, TopLink, OC4J e etc…
Mas dês de já eu agradeço!!!

Detalhe.

Devem existir mais ou menos umas 8700.000.009 maneiras de escalar uma aplicação.

Desde abordagens de proxy como o citado acima, cache(que é muito bom) até outras mais mirabolantes que requerem um pouco mais de trabalho mas também resolvem problemas.

Fazendo um calculo simples.

O primeiro contando 24 horas no dia, o segundo contando 8 horas de uso por dia.(Sem contar picos)

40.000 / 24 / 60 / 60 = 0,46 acessos por segundo.
40.000 / 8 / 60 / 60 = 1,38 acessos por segundo.

Não é uma situação tão alarmante se sua aplicação não tiver grandes gargalos.

Hehe.

No mais.
Faça um teste, JMeter neles. :smiley:

Até mais;

  1. Repito a pergunta sobre ultrapassado. que esá ultrapassado na lista acima?
  2. Não entendi, vão colocar o servidor no datacenter e por isso ele vai ter 40 mil acessos? De quem, dos funcionarios do datacenter?

[quote=rodrigo.melo]
eduveks, vc poderia me informar alguns sites ou tutoriais com dicas de configuração proxy/apache, threads do tomcats e connections pools.
Ehh tenho q rever meus conceitos pois vivia no mundo Oracle!!! Onde trabalhava com JDevelop, TopLink, OC4J e etc…
Mas dês de já eu agradeço!!![/quote]

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

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

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

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

Vale tambem esse artigo que li sobre escalabilidade. Independente da tecnologia que você usa, essas dicas podem ajudar…

http://www.infoq.com/articles/scalability-principles

É…também não entendi a questão sobre “coisas ultrapassadas”.

Sobre o volume de acessos eu gostaria de sugerir uma avaliação no banco de dados para verificar se ele suporta essa quantidade de acessos e se é necessario ajustar algumas configurações por conta disso (nunca trabalhei com esse banco). Seria bom colocar uma boa máquina pra esse banco de dados também.

Fazer uma revisão no código java que utiliza as conexões cedidas pelo pool para ver se não esqueceram de fechar a conexão quando ocorre imprevistos, erros etc…se não fechar as conexões não tem banco que aguenta.

Fazer um avaliação nos fluxos para verificar a performance das requisições, com um volume de acesso destes acho que seria bom NÃO ter códigos gordos fazendo coisas bobas e desnecessárias.

Utilizar um JMeter da vida para testar o conjunto todo não esquecendo de colocar um DBA ou uma pessoa que entenda desse banco pra acompanhar os resultados (apresentados pelo banco dados).

Avaliar os indices das tabelas pra verificar se são adequados ou se não está faltando algum indice importante.

Resumindo…FICA ESPERTO COM O BANCO DE DADOS (sqls, indices, chaves, triggers etc…) geralmente esse cara é um grande gargalo.

Bem…acho que pra começar é por ai…

Abraço a todos

fantomas, agradeço pela dica!!!
Vo fazer uma Analise geral de todas as query!!!

Abraço

[quote=fantomas]É…também não entendi a questão sobre “coisas ultrapassadas”.

Sobre o volume de acessos eu gostaria de sugerir uma avaliação no banco de dados para verificar se ele suporta essa quantidade de acessos e se é necessario ajustar algumas configurações por conta disso (nunca trabalhei com esse banco). Seria bom colocar uma boa máquina pra esse banco de dados também.

Fazer uma revisão no código java que utiliza as conexões cedidas pelo pool para ver se não esqueceram de fechar a conexão quando ocorre imprevistos, erros etc…se não fechar as conexões não tem banco que aguenta.

Fazer um avaliação nos fluxos para verificar a performance das requisições, com um volume de acesso destes acho que seria bom NÃO ter códigos gordos fazendo coisas bobas e desnecessárias.

Utilizar um JMeter da vida para testar o conjunto todo não esquecendo de colocar um DBA ou uma pessoa que entenda desse banco pra acompanhar os resultados (apresentados pelo banco dados).

Avaliar os indices das tabelas pra verificar se são adequados ou se não está faltando algum indice importante.

Resumindo…FICA ESPERTO COM O BANCO DE DADOS (sqls, indices, chaves, triggers etc…) geralmente esse cara é um grande gargalo.

Bem…acho que pra começar é por ai…

Abraço a todos[/quote]

Rapaz esse nome “Metodologia” aí ficou estranho viu.

[quote=rodrigo.melo]Ola!!!

Galera a empresa na qual estou trabalhando possui um sistema que utiliza basicamente as seguintes tecnologias JDBC, Servlet, TomCat, MySQL e MVC. Sou novo aqui e ainda estou analisando o sistema deles mas eu não tenho experiências com essa tecnologias que de fato, já estão ultrapassada. Eu trabalhava com EJB, Struts e Oracle, mas sou desenvolvedor Jr. ainda!!!
Mas a minha duvida eh o seguinte o pessoal aki está querendo colocar o sistema deles em um Data Center onde vai ter ± 40mil acesso!!! Muito não??? Será que vai agüentar??? Essa eh minha dúvida e a do diretor!!!

Agradeço qualquer ajuda!!!
Obrigado[/quote]

Não, não vai agüentar. Desiste.

[quote=louds]
Não, não vai agüentar. Desiste.[/quote]

Mas se ele botar para rodar no mono aguenta, né louds? :lol:

[quote=rodrigo.melo]Ola!!!

Galera a empresa na qual estou trabalhando possui um sistema que utiliza basicamente as seguintes tecnologias JDBC, Servlet, TomCat, MySQL e MVC. Sou novo aqui e ainda estou analisando o sistema deles mas eu não tenho experiências com essa tecnologias que de fato, já estão ultrapassada. Eu trabalhava com EJB, Struts e Oracle, mas sou desenvolvedor Jr. ainda!!!
Mas a minha duvida eh o seguinte o pessoal aki está querendo colocar o sistema deles em um Data Center onde vai ter ± 40mil acesso!!! Muito não??? Será que vai agüentar??? Essa eh minha dúvida e a do diretor!!!
[/quote]

Legal…programador junior querendo dar uma de arquiteto…sinceramente uma pessoa que diz q servlets é coisa do passado e q só program em struts…por favor hein…

Se vc usa EJB e Struts…eu espero que vc NO MÍNIMO conhece servlets, requests, session, filter…não diz mais isso cara…servlet às vezes é o melhor caminho…

Ficar controlando requisição na mão com servlet é coisa do passado na esmagadora maioria dos casos. Se você da um esporro no cara só por que ele é programador junior e quer fazer uma análise da arquitetura utilizada (o que eu não vejo problema algum), eu espero que você no mínimo conheça as facilidades que os frameworks web em geral trazem.

[quote=Giulliano][quote=rodrigo.melo]Ola!!!

Galera a empresa na qual estou trabalhando possui um sistema que utiliza basicamente as seguintes tecnologias JDBC, Servlet, TomCat, MySQL e MVC. Sou novo aqui e ainda estou analisando o sistema deles mas eu não tenho experiências com essa tecnologias que de fato, já estão ultrapassada. Eu trabalhava com EJB, Struts e Oracle, mas sou desenvolvedor Jr. ainda!!!
Mas a minha duvida eh o seguinte o pessoal aki está querendo colocar o sistema deles em um Data Center onde vai ter ± 40mil acesso!!! Muito não??? Será que vai agüentar??? Essa eh minha dúvida e a do diretor!!!
[/quote]

Legal…programador junior querendo dar uma de arquiteto…sinceramente uma pessoa que diz q servlets é coisa do passado e q só program em struts…por favor hein…

Se vc usa EJB e Struts…eu espero que vc NO MÍNIMO conhece servlets, requests, session, filter…não diz mais isso cara…servlet às vezes é o melhor caminho…
[/quote]

Esse no mínimo é relativo… Conheço muita gente que usa struts e afins, mas não conhece servlets… Muita gente que “faz queries” com hibernate mas não conhece jdbc… Muitas vezes porque trabalham maquinalmente em fábricas de software… Errado? Acho que sim, mas fazer o que…

Eu ia recomendar turbo pascal, que é tua praia.