Será que está arquitetura agüenta?

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

[quote=louds]Eu ia recomendar turbo pascal, que é tua praia.
[/quote]

Você deve estar me confundindo com alguém, trabalho full-time com Java :lol:

Tirando o pessoal mais exaltado, o resto tem razão.

Primeiramente é necessário saber a quantidade de usuários simultâneos para poder dimensionar e testar como foi dito anteriormente com algum software do segmento do JMeter.

É importante utilizar ferramentas de monitoramento para saber inicialmente se a configuração do hardware do servidor (processamento, memória e disco) vão suportar os usuários e depois analisar os pontos onde é possivel tunar a aplicação para otimizar a utilização de recursos, seja utilizando cache ou mesmo alterando o código incluindo patterns que possibilitem a redução de instancias de objetos em memória, abertura e fechamento de conexões com o banco entre outras coisas.

Quanto as tecnologias como Servlet, JDBC, Tomcat, MySQL e MVC serem ultrapassadas acho que você está confuso pois as API’s J2EE (incluindo Servlets e JDBC) tendem a ser sempre atualizadas, assim como os servidores de aplicação Tomcat e banco de dados MySQL.

Abraços!

hentropia, seu sistema deve está desatualizado.
se vcs está mudando para um data center é pq já descobriram a necessidade, certo?
se sim ql é seu cenario hoje? 40mil acesso já? 30mil crescendo? 20mil? 5mil em um periodo de 10mim com sessoes grandes ou um carrinho de comprar…
está mto abstrato, mas não foge do que a turma falou…
se o sistema estiver mto desatualizado vcs teram q fazer mtos refector…

sucesso…

Acredito que o usuário que gostaria de tirar a dúvida dele não tem tanto conhecimento mesmo. Porém acho que deviamos usar melhores palavras pra tratar as pessoas.
É só uma dúvida, se alguns acham que ele ainda não tem ‘nível’ pra entender sejam mais educados e digam coisas como:
"ai, tente ver um pouco mais sobre XXX e YYY… olha servlet não é ultrapassado por não pesquise mais…"
melhor do que ficar dizendo “coisas” desmotivadoras… dá pra ser realista sem ser mal educado.

eu usaria scala.

http://www.guj.com.br/posts/list/90321.java