Autor Tópico: Scriptcase, banco de dados e otimização de performance. Postem suas experiências  (Lida 11169 vezes)

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #15 Online: Janeiro 22, 2014, 10:03:31 pm »
Fantástico!
F. A.
Analista de Sistemas

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #16 Online: Janeiro 23, 2014, 04:32:31 pm »
Obrigado a todos.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #17 Online: Fevereiro 14, 2014, 07:29:34 am »
Atenção!!!

O mysql 5.6 à partir da versão 5.6.9 está com um bug onde há um alto consumo de memória.
Conforme seu hardware e configurações (my.cnf, my.ini) ele irá travar seu servidor ou causar lentidão.
Vide: http://www.chriscalender.com/?p=1278
http://bugs.mysql.com/bug.php?id=68287


Instalador do scriptcase em ambiente de produção provoca paradas (travamentos) no apache.


Sim eu sei que no seu servidor está tudo ok!
Mas cada servidor é um caso.
Está dica vai para quem usou o instalador e o apache tem que ficar sendo restartado.
Considere que o apache do instalador é otimizado para rodar o scriptcase com um pequeno número de desenvolvedores em cima.
Alguns clientes meus onde o acesso ao servidor é em produção e fizeram uso do instalador.
O alto número de acessos concorrentes provoca a queda do servidor apache.
A solução é mexer nas configurações do apache e do zend fazendo um tuning.
Detalhe: se deixar o php como cgi ele irá consumir bastante memória.
Depois do tuning o apache passou a funcionar normal.
« Última modificação: Fevereiro 14, 2014, 07:41:53 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #18 Online: Fevereiro 14, 2014, 10:48:22 am »
Pois é, ontem ele deu 3 travadas e só re-iniciando o apache que voltava ao normal. Pensei ser meu loop while que estava louco, mas não! Dependendo da aplicação (se requer muita memória) ele trava na execução do mesmo.

Vou estudar como fazer esse tuning no apache e no zend.

Obrigado Alexandre!
F. A.
Analista de Sistemas

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #19 Online: Fevereiro 21, 2014, 08:06:33 am »
Dica
Para acompanhar o desempenho do seu servidor Zabbix nele!
http://www.zabbix.com/
Detalhe para windows instale o unixtools e no agent coloque:
Obs: Este editor não aceita colchete com asterisco, logo onde se lê (colchete) substitua.

UserParameter=mysql.status(abre colchete)*(fecha colchete),mysql -uusuariodobanco -ANe "show global status where Variable_name='$1'" | cut -f2
UserParameter=mysql.ping,mysqladmin -uusuariodobanco  ping | grep alive | wc -l | cut -d" " -f 7
UserParameter=mysql.uptime,mysqladmin -uusuariodobanco  status | cut -d: -f2 | cut  -d " " -f2
UserParameter=mysql.threads,mysqladmin -uusuariodobanco  status | cut -d: -f3 | cut  -d " " -f2
UserParameter=mysql.questions,mysqladmin -uusuariodobanco  status | cut -d: -f4 | cut  -d " " -f2
UserParameter=mysql.slowqueries,mysqladmin -uusuariodobanco  status | cut -d: -f5 | cut  -d " " -f2
UserParameter=mysql.version,mysql -V



« Última modificação: Fevereiro 21, 2014, 08:09:32 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #20 Online: Março 06, 2014, 11:03:36 pm »
Obs: façam backup antes dos procedimentos não me responsabilizo por perdas de dados.

Se seu scriptcase desenvolvimento estiver lento e não é mais o mesmo. Pode ser fragmentação no banco de dados em que ele foi instalado.


Para instalação no  mysql ler neste post: http://www.scriptcase.com.br/forum/index.php/topic,5689.msg39937.html#msg39937
Comando disponiveis no phpmyadmin e sql.

Para instalação no sqlite use o comando vacuum nas tabelas e indexes. http://www.sqlite.org/lang_vacuum.html
No sqliteadmin use o icone limpar database.
Ou use no sql

Para o postgresql use reindexdb, vacuumdb e analyze -> http://www.postgresql.org/docs/9.3/static/app-reindexdb.html , http://www.postgresql.org/docs/9.3/static/app-vacuumdb.html e http://www.postgresql.org/docs/9.3/static/sql-analyze.html
Comandos disponíveis no phppgadmin, pgadmin ou sql

E fim.
« Última modificação: Outubro 22, 2016, 12:59:24 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #21 Online: Março 07, 2014, 01:19:52 am »
Para se pensar:

Windows server 2012 requisitos (http://technet.microsoft.com/pt-br/library/jj134246.aspx):

Mínimo: processador de 1,4 GHz e 64 bits
RAM: Mínimo: 512 MB
Espaço em disco: Mínimo: 32 GB
Ou seja isto é o mínimo para ele rodar bem lentium.

Ai façamos a conta:

512 MB do mínimo para ele rodar mais uma margem de 512M para processos dos sistema operacional.
Total 1gb de memória
1GB somente para o windows rodar lentium.

Apache + php + sc (fonte google e experimentações pessoais)
Vamos desprezar o consumo de memória pelo apache e considerar somente pelo php.
Cada chamada do php como php-cgi para rodar o scriptcase pode consumir até 65Mb ou mais um pouquinho.
Obs: o sc instalador instala o php como php-cgi no apache.
Então vamos usar o php como módulo que consome menos memória e supor na melhor das hipóteses que cada chamada consuma 35Mb.
Logo se coloco no apache um limite para 150 conexões temos:
150x35Mb=5250Mb que é aproximadamente 5GB.
Então na pior das hipóteses se 150 usuários acessarem seu servidor simultaneamente temos um consumo de 5Gb de memória.
Ainda bem que isto é difícil de acontecer. Será?

Banco de dados

Vamos pegar o campeão de popularidade: Mysql.

Vamos desconsiderar que campos blob requerem 3x mais memória, para que você vai querer usar campo blob não é mesmo?.
Os mais afoitos podem usar estes sites para calcular o consumo de memória do mysql com base na configuração do my.cnf ou my.ini
http://www.mysqlcalculator.com/
http://www.omh.cc/mycnf/
vamos pegar um caso leve com a pior configuração para seu mysql que tem  2gb de base de dados innodb começar a ficar lentium:
key_buffer_size 64 MB    
query_cache_size 64 MB    
tmp_table_size    32 MB
innodb_buffer_pool_size   8 MB    
innodb_additional_mem_pool_size 1 MB    
innodb_log_buffer_size    1 MB    
max_connections 150      

sort_buffer_size 2 MB    
read_buffer_size 128 KB    
read_rnd_buffer_size 256 KB    
join_buffer_size 128 KB    
thread_stack 196 KB
binlog_cache_size 0 MB    
Total:    576.2 MB  de memória consumida com 150 conexões simultâneas.

Agora vamos ver o MS SQLSERVER. fonte: http://msdn.microsoft.com/pt-br/library/ms143506.aspx

memória Mínima:
Edições Express: 512 MB
Todas as outras edições: 1 GB
Recomendado:
Edições Express: 1 GB
Todas as outras edições: pelo menos 4 GB e deve ser aumentado à medida que o banco de dados cresce para garantir um ótimo desempenho
.


Logo para o windows + apache + php + mysql


sistema operacional: 1gb
apache + php 150 conexões: 5gb
mysql 150 conexões simultâneas: 576 Mb
memória mínima que o cloud deve ter: aproximadamente 6.5gb
obs: Isto para ele trabalhar lentium, arrastando e travando na pior das hipóteses.

Para windows + apache + php + ms sqlsever edition express ( a que consome menos).

sistema operacional: 1gb
apache + php 150 conexões: 5gb
Edições Express: 1GB (recomendado)
Memória mínima que o cloud deve ter: aproximadamente 7gb
obs: Isto para ele trabalhar lentium, arrastando e travando na pior das hipóteses.

Obs: quando você considerar o mínimo requerido. Lembre-se que o mínimo do windows seven ultimate para rodar (http://windows.microsoft.com/pt-br/windows7/products/system-requirements) é 1 gigabyte (GB) de RAM (32 bits) ou 2 GB de RAM (64 bits) .
Agora experimente rodar o windows seven ultimate com office, antivirus instalado e 1gb de memória!? Fica uma carroça dependendo da máquina!
E clique hoje, vá tomar um café e volte amanhã.
Logo, imagine o que os requerimentos mínimos de hardware fazem ao ms sqlserver, mysql, php, apache e windows server?

Isto pode ser aplicado ao Linux (http://www.debian.org/releases/wheezy/mipsel/ch03s04.html.pt) e outros sistemas operacionais, também a outros sgdb´s.

Ai você vem me dizer que quando contratou o cloud, montou seu servidor e etc...
E era somente você a usar. Uau!!!... O "acesso era legal", mais que demais!
Somente que agora não entende...!?  Depois de começar a colocar seus clientes tudo começou a ficar lento.
Seu servidor com: 2Ghz e 2  cores, 2 Gb de memória e 50 Gb de espaço em disco não era para dar conta do recado?

Olha! Se você tiver muita sorte como a maioria tem! E eu sou um dos sortudos.
Os acesso não serão simultâneos e o seu servidor vai dar conta.
Mas sempre terá que fazer uma mágica na configuração. E isto a qualquer hora.
Afinal os perfis de acesso não são fixos. Mas as limitações do seu servidor sim.
Esta mágica de controlar o consumo de memória, disco, processamento tem que ser feita até que você ou eu criemos juízo e coloquemos a mão no bolso.
Espero ter contribuído com a dúvida de muita gente.

« Última modificação: Março 09, 2014, 03:41:36 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
Re:Scriptcase, banco de dados e otimização de performance
« Responder #22 Online: Março 07, 2014, 05:14:26 am »
Alexandre,

Parabéns pelos posts.

Na instalação default do SC 7 onde fica a base de dados?

O meu está muito lento é quero ver se resolvo utilizando uma das suas dicas.

Obrigado
George Carvalho
Porto de Galinhas/PE

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #23 Online: Março 07, 2014, 10:30:57 am »
George obrigado
A instalação padrão fica:
pasta instalação scritpcase\devel\conf\scriptcase\nm_scriptcase.db.

Mas copie esta base para um lugar seguro antes de fazer o procedimento.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
Re:Scriptcase, banco de dados e otimização de performance
« Responder #24 Online: Março 07, 2014, 10:55:28 am »
Alexandre vc é o cara.

Meu SC voltou a funcionar com a velocidade normal, estava muito lento.

Obrigado
George Carvalho
Porto de Galinhas/PE

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #25 Online: Março 07, 2014, 11:30:36 am »
de nada
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #26 Online: Março 30, 2014, 04:15:21 pm »
Olá pessoal,
Relato caso acontecido com nosso amigo aqui do fórum.

Problema relatado: lentidão no sc 7.1 com php 5.4.
Teste feito com sc IDE instalado com mysql e sqlite e ficava lento nos dois.
Executado vaccum no sqlite e ainda continuava lento.

Solução:
Nos teste desabilitamos o antivírus e o sc voltou a funcionar normal.
O firewall do antivírus estava deixando lento o SC.
Antivírus: Mcafee Live Safe 12.8 para windows 8.1

Dica
Quando o SC estiver lento e a desfragmentação ou tuning do apache + SGDB não funcionar experimente desligar o antivírus.
Ele pode ser o grande vilão no que diz respeito do desempenho do SC IDE.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #27 Online: Janeiro 27, 2015, 12:24:56 pm »
caraca !

Eu achava que sabia alguma coisa.....


muito, muito obrigado!


Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #28 Online: Janeiro 27, 2015, 12:40:30 pm »
De nada Pessanha.
Tendo coisas para compartilhar neste post não esqueça de contribuir.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1641
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Scriptcase, banco de dados e otimização de performance. Postem suas experiências
« Responder #29 Online: Março 27, 2015, 10:24:22 am »
Bom dia,
Estava um cliente sofrendo com lentidão no sistema com o servidor apache.
tinha mais de 300 conexões simultâneas por dia.
Arrisquei e troquei o apache por nginx com php-fpm.
O sistema está satisfatório.  A melhora foi visível.
A única dificuldade foi ao gerar pdfs.
Isto foi resolvido tirando o cache dos scripts .php, ou seja, faz cache de tudo menos dos scripts php.
Penso quando for mudar de servidor e migrar os domínios hospedados aqui já mudar também de apache para nginx.
Fica ai meu relato


--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?