DunkMask 1 Denunciar post Postado Agosto 27, 2012 Olá, boa tarde. primeiramente não sei se este é o lugar para tal, mas creio que possa ser algo envolvendo a minha programação que esteja causando tal problema. Já realizei a verificação de todos os scripts que o site possui, todos com base no jquery. Uso o Lytebox e um banner random, não creio que seja eles que estejam causando este consumo acessivo, mas recentemente desenvolvi um site que funcionou perfeitamente por um més, mas agora ele começa a cair devido o consumo de memoria. Não uso nada de muito complexo no sistema, como podem ver através do link www.cigarrateen.com.br, o sistema administrativo é o que mais usa plugins devido ao seu editor de texto e o gerenciador/upload de arquivos. percebi que o problema aparece com mais frequência quando estão inserindo o conteúdo no site, é possível que uma inserção no banco provoque tal queda? Existem paginas como cadastro de fotos que o usuário escolhe a quantidade de fotos que vai inserir no banco, e através do plugin ele seleciona a foto e automaticamente o plugin da o endereço. já usei o mesmo editor em um site como muito mais visitas mas nunca tive este problema, então venho aqui para tirar esta dúvida me atinge no momento. Agradeço a todos que lerem e deixarem suas opiniões. Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Oderdenge 42 Denunciar post Postado Agosto 27, 2012 é possível que uma inserção no banco provoque tal queda? Sim, é. Quer mostrar-nos o seu INSERT? Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Agosto 27, 2012 Bom, postarei aqui a duas paginas usadas com mais frequencia, e geralmente são 4 usuarios logados fazendo o mesmo trabalho. Pagina de noticia. <?php require "checar.php"; require "permissao2.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <link rel="stylesheet" href="../css/style.css" type="text/css" media="all" charset="utf-8" /> </head> <body> <div id="page"> <div id="page-title"><a href="?page=home" title="Home">Home</a> » <strong>Cadastro de notícia</strong></div> <div id="page-text"> <div id="form-user"> <?php $data = ''.date("d/m/y").' às '.date("h:i").''; if(isset($_GET['Salvar'])){ $idUser = $_GET['p']; $xUser = mysql_fetch_object(mysql_query("SELECT * FROM ct_user WHERE idUser='$idUser'")); $titulo = $_POST['titulo']; $autor = $xUser->nome; $capa = $_POST['capa']; $noticia = $_POST['texto']; $categoria = $_POST['categoria']; $ativo = $_POST['ativo']; $sqCad = mysql_query("INSERT INTO ct_news (idAtivo, idCategoria, titulo, data, autor, capa, noticia) VALUES ('$ativo', '$categoria', '$titulo', '$data', '$autor', '$capa', '$noticia')"); if($sqCad){ echo '<div id="form-status">Notícia cadastrada com sucesso!</div>'; } else { echo '<div id="form-status" style="background-color:#C30;">Erro ao cadastrar a notícia.</div>'; } } ?> <form action="?page=Cad.Noticia&Salvar=ok&p=<?php echo $_GET['p'];?>" method="post" name="postar"> <input type="hidden" name="ativo" value="2" /> <span class="form-title"><strong>Catégoria:</strong></span> <span class="form-campo-select"> <select name="categoria"> <option value="">-- Escolha uma opção --</option> <?php $sqCat = mysql_query("SELECT * FROM ct_categoria ORDER BY nome"); while($xCat = mysql_fetch_object($sqCat)){ echo '<option value="'.$xCat->idCategoria.'">'.$xCat->nome.'</option>'; } ?> </select> </span> <span style="display:block; clear:both;"></span> <span class="form-title"><strong>Título:</strong></span> <span class="form-campo"><input name="titulo" type="text"/></span> <span style="display:block; clear:both;"></span> <span class="form-title"><strong>Capa:</strong></span> <span class="form-campo-capa"><input type="text" name="capa" value="Selecionar arquivo." id="capa"> - <a href="javascript:mcImageManager.open('postar','capa','','',{relative_urls : true});">[selecionar]</a> </span> <span style="display:block; clear:both;"></span> <span style="display:block; clear:both;"></span> <textarea id="tiny" type="text" name="texto" ></textarea> <span style="display:block; clear:both;"></span> </form> <span style="display:block; clear:both;"></span> </div> </div> </div> </body> </html> Pagina Cadastrar fotos <?php require "checar.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <link rel="stylesheet" href="../css/style.css" type="text/css" media="all" charset="utf-8" /> </head> <body> <div id="page"> <div id="page-title"><a href="?page=home" title="Home">Home</a> » <strong>Cadastro de fotos</strong></div> <div id="page-text"> <div id="form-user"> <?php if(isset($_GET['Salvar'])){ $capa = $_POST['capa']; $album = $_POST['album']; foreach($capa as $cod => $value){ $sqCad = mysql_query("INSERT INTO ct_foto (idGaleria, foto) VALUES ('$album', '$capa[$cod]')"); if($sqCad){ echo '<div id="form-status">Foto cadastrada com sucesso!</div>'; } else { echo '<div id="form-status" style="background-color:#C30;">Erro ao cadastrar a foto.</div>'; } } } // RESPONSAVEL POR ESCOLHER O NUMERO DE REDES SOCIAIS QUE você DESEJA CADASTRAR $num = ''; if(!isset($_GET['num'])){ echo '<center><form action="index.php"> <input type="hidden" name="page" value="Cad.Foto" />'; echo '<span class="form-title-center">Cadastrar <input name="num" value="1" size="5" /> Fotos</span>'; echo '<span class="form-button"><input type="submit" value="Okay" /></span></form></center>'; die; } ?> <span class="form-title-center"> Ao cadastrar as fotos, certifiquem-se de retirar o <strong>../</strong> dos endereços da foto.</span> <form action="?page=Cad.Foto&Salvar=ok&num=<? echo $_GET['num']; ?>" method="post" name="postar"> <span class="form-title">Seleciar album:</span> <span class="form-campo-select"> <select name="album"> <option value="">-- Escolha uma opção --</option> <?php $sqAlbum = mysql_query("SELECT * FROM ct_galeria ORDER BY idGaleria"); while($x = mysql_fetch_object($sqAlbum)){ echo '<option value="'.$x->idGaleria.'">['.$x->data.'] '.$x->nome.'</option>'; } ?> </select> </span> <span style="display:block; clear:both;"></span> <?php for($num = 1; $num <= $_GET['num']; $num++ ){ ?> <span class="form-title" style="text-align:right;">Foto <?php echo $num ?> »</span> <span class="form-campo-capa"><input type="text" name="capa[]" value="Selecionar arquivo." id="capa[<?php echo $num ?>]"> - <a href="javascript:mcImageManager.open('postar','capa[<?php echo $num ?>]','','',{relative_urls : true});">[selecionar]</a> </span> <span style="display:block; clear:both;"></span> <?php } ?> <span class="form-button"><input name="salvar" type="submit" value="Cadastrar foto" /></span> <span style="display:block; clear:both;"></span> </form> <span style="display:block; clear:both;"></span> </div> </div> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
amixel 0 Denunciar post Postado Agosto 27, 2012 Por mais que seja sua programação o servidor deveria aguantar, uma simples inserção como a sua não deveria dar esse problema, acredito que possa ser uma sobrecarga no servidor MYSQL do seu provedor de hospedagem. se o seu servidor tiver algumas funções liberadas teste este script para ver o Load do CPU e HD. teste e digamos que em (Server Load) voce tera tal numero esse numero tem que ser menor que a quantidade de processadores que tem o servidor. digamos que o servidor tenha 8 cores. o seu load não pode oscilar o load em 8.00 tem que ser menos. geralmente é dificil que seja memoria. se tiver interesse contrate uma hospedagem ou revenda na Dinamohost.com.br, la eles trabalham seriamente para Webdesigner e Agencias. <? function uptime() { $ut = strtok(exec("cat /proc/uptime"), "."); $d = sprintf("%2d", ($ut/(3600*24))); $h = sprintf("%2d", (($ut%(3600*24))/3600)); $m = sprintf("%2d", ($ut%(3600*24)%3600)/60); $s = sprintf("%2d", ($ut%(3600*24)%3600)%60 ); print "Servidor ligado há: ".$d." dia(s), ".$h." hora(s), ".$m." minuto(s), ".$s." segundo(s)"; } ?> <pre> <b>Tempo Ligado (Uptime):</b> <?php uptime(); ?> <br><br> <b>Informações do Sistema:</b> <?php system("uname -a"); ?> <br> <b>Recursos do Servidor (Server Load):</b> <? $load = explode(" ", exec("cat /proc/loadavg")); $uso = $load[2]; print("Uso: ".$uso."%"); ?> <br> <b>Uso de Disco:</b> <?php system("df -h"); ?> <br> <b>Informações da CPU:</b> <?php system("cat /proc/cpuinfo | grep \"model name\\|processor\""); ?> </pre> Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Agosto 27, 2012 Por mais que seja sua programação o servidor deveria aguantar, uma simples inserção como a sua não deveria dar esse problema, acredito que possa ser uma sobrecarga no servidor MYSQL do seu provedor de hospedagem. se o seu servidor tiver algumas funções liberadas teste este script para ver o Load do CPU e HD. teste e digamos que em (Server Load) voce tera tal numero esse numero tem que ser menor que a quantidade de processadores que tem o servidor. digamos que o servidor tenha 8 cores. o seu load não pode oscilar o load em 8.00 tem que ser menos. geralmente é dificil que seja memoria. se tiver interesse contrate uma hospedagem ou revenda na Dinamohost.com.br, la eles trabalham seriamente para Webdesigner e Agencias. <? function uptime() { $ut = strtok(exec("cat /proc/uptime"), "."); $d = sprintf("%2d", ($ut/(3600*24))); $h = sprintf("%2d", (($ut%(3600*24))/3600)); $m = sprintf("%2d", ($ut%(3600*24)%3600)/60); $s = sprintf("%2d", ($ut%(3600*24)%3600)%60 ); print "Servidor ligado há: ".$d." dia(s), ".$h." hora(s), ".$m." minuto(s), ".$s." segundo(s)"; } ?> <pre> <b>Tempo Ligado (Uptime):</b> <?php uptime(); ?> <br><br> <b>Informações do Sistema:</b> <?php system("uname -a"); ?> <br> <b>Recursos do Servidor (Server Load):</b> <? $load = explode(" ", exec("cat /proc/loadavg")); $uso = $load[2]; print("Uso: ".$uso."%"); ?> <br> <b>Uso de Disco:</b> <?php system("df -h"); ?> <br> <b>Informações da CPU:</b> <?php system("cat /proc/cpuinfo | grep \"model name\\|processor\""); ?> </pre> O script não rodo na hospedagem, possuo uma revenda e tem varios sites la, e este é o unico que apresenta o prolema. Eu mudei o site temporariamente para uma outra empresa para ver como é que ele suporta, agora ao inves da memoria ele teve um pico de 92% da cpu da 1:00 da manhã até agora. O problema da memoria derrubar o site acabou, também estou monitorando constantemente tais informações. veja: Compartilhar este post Link para o post Compartilhar em outros sites
amixel 0 Denunciar post Postado Agosto 27, 2012 Então o servidor tem desabilitado essas funções. Mas me diga uma coisa, o teu provedor de hospedagem eles te reclamarão do teu uso ? pois o seu codigo de cadastro esta normal o que você pode fazer é fechar a conexão do mysql em cada consulta e insert, alem de otimizar as suas querys e consultas mysql, coloque melhores praticas de uso de mysql na internet tem bastante sobre isso.. verifique a quantidade de acesso, pois geralmente quando se trata de muito acesso da nisso mesmo, e não da pra reclamar muito quando se trata de revenda, eu já passei por isso tenho um portal no qual ele consumia muita memoria e processamento, o servidor me convidou para migrar esse portal para uma estrutura em cloud ou VPS, acabei migrando tudo para, para um servidor mais parrudo. o portal tem uma media de 3000 a 5000 acessos por dia, isso compromete qualquer hospedagem compartilhada, que não tenha uma boa configuração da maquina. Compartilhar este post Link para o post Compartilhar em outros sites
DunkMask 1 Denunciar post Postado Agosto 27, 2012 Então o servidor tem desabilitado essas funções. Mas me diga uma coisa, o teu provedor de hospedagem eles te reclamarão do teu uso ? pois o seu codigo de cadastro esta normal o que você pode fazer é fechar a conexão do mysql em cada consulta e insert, alem de otimizar as suas querys e consultas mysql, coloque melhores praticas de uso de mysql na internet tem bastante sobre isso.. verifique a quantidade de acesso, pois geralmente quando se trata de muito acesso da nisso mesmo, e não da pra reclamar muito quando se trata de revenda, eu já passei por isso tenho um portal no qual ele consumia muita memoria e processamento, o servidor me convidou para migrar esse portal para uma estrutura em cloud ou VPS, acabei migrando tudo para, para um servidor mais parrudo. o portal tem uma media de 3000 a 5000 acessos por dia, isso compromete qualquer hospedagem compartilhada, que não tenha uma boa configuração da maquina. A empresa não reclamou, eu que reclamei. pq depois de uma manutenção que eles fizeram que os problemas apareceram. Me deram a sugestão de pegar um vps também, mas meu cliente nao vai querer investir muito mais no vps e o site tbm nao tem nem 200 visitas diarias. Mas vou ver esta questão ai de fechar a conexão em cada consulta, e pesquisar mas sobre as otimizações sugeridas. Agradeço pela ajuda. Agora é torcer para esta hospedagem aguentar o site por uns 30 dias enquanto eu refaço a programação toda. Compartilhar este post Link para o post Compartilhar em outros sites