meu nome é Fabio Brito e gostaria da ajuda de vocês quanto a um problema que estou enfrentando com uma aplicação hospedada na Locaweb.
Meu site é de uma imobiliária, portanto utiliza de PHP e MYSQL para fazer buscas de imóveis no site.
O problema é que a Locaweb esta ameaçando tirar meu site do ar pois está causando sobre carga no servidor compartilhado deles e alegam que o problema está em nosso código. Meu site tem em torno de 15Mil acessos mês então este não é o problema.
Abaixo segue o código PHP da página mais requisitada do site:
<? include("inc/config.php"); ?>
<?
/* PAGINACAO */
$_SESSION['regs_pp'] = 6;
!isset($_GET["pg"]) ? $pg=1 : $pg=$_GET["pg"];
$comeca_em = ($pg-1)*$_SESSION['regs_pp'];
// paramentros para navegacao entre os resultados
$param = '';
if( isset($_GET['favoritos']) ) { $param.="favoritos=true&"; }
if( isset($_GET['lancamentos']) && $_GET['lancamentos']=='true' ) { $param.="lancamentos=true&"; }
if( isset($_GET['estagio']) ) { $param.="estagio=".$_GET['estagio']."&"; }
if( isset($_GET['finalidade']) ) { $param.="finalidade=".$_GET['finalidade']."&"; }
if( isset($_GET['tipo']) ) { $param.="tipo=".$_GET['tipo']."&"; }
if( isset($_GET['busca_cidade']) ) { $param.="busca_cidade=".urlencode($_GET['busca_cidade'])."&"; }
if( isset($_GET['dormitorio'])) { $param.="dormitorio=".$_GET['dormitorio']."&"; }
if( isset($_GET['garagem']) ) { $param.="garagem=".$_GET['garagem']."&"; }
if( isset($_GET['de1']) ) { $param.="de1=".$_GET['de1']."&"; }
if( isset($_GET['de2']) ) { $param.="de2=".$_GET['de2']."&"; }
if( isset($_GET['ate1']) ) { $param.="ate1=".$_GET['ate1']."&"; }
if( isset($_GET['ate2']) ) { $param.="ate2=".$_GET['ate2']."&"; }
if( isset($_GET['preço']) ) { $param.="preço=".$_GET['preço']."&"; }
if( isset($_GET['preco2']) ) { $param.="preco2=".$_GET['preco2']."&"; }
if( !empty($_GET['area']) ) { $param.="area=".$_GET['area']."&"; }
if( !empty($_GET['o_field']) ) { $param.="o_field=".$_GET['o_field']."&"; }
if( !empty($_GET['o_ad']) ) { $param.="o_ad=".$_GET['o_ad']."&"; }
// o param de pagnacao dos bairros esta no loop do select
/*
BUSCA
---------------------------------------------------------------------
*/
$sql_busca="";
// PALAVRA-CHAVE
if ( !empty($_GET['codigo']) && is_numeric($_GET['codigo']) ) {
die("<script>window.location='detalhes.php?codigo=".$_GET['codigo']."'</script>");
}
else if ( !empty($_GET['placa']) && is_numeric($_GET['placa']) ) {
die("<script>window.location='detalhes.php?codigo=".$_GET['placa']."'</script>");
}
else
{
// CLASSIFICACAO
if (!empty($_GET["finalidade"]) && $_GET["finalidade"]=='venda') { $sql_busca .= " AND INSTR(imo.STATUS,'VENDA')>0 "; }
else if (!empty($_GET["finalidade"]) && $_GET["finalidade"]=='locacao') { $sql_busca .= " AND INSTR(imo.STATUS,'LOCAÇÃO')>0 "; }
//else if (!empty($_GET["finalidade"]) && $_GET["finalidade"]=='vl') { $sql_busca .= " "; }
// ESTAGIO OBRA
if(!empty($_GET['estagio'])) { $vfiltros[] = array('estagio',$_GET['estagio']); }
if ( !empty($_GET['estagio']) && $_GET['estagio']==2 ) { $sql_busca.=" AND imo.ESTAGIO_OBRA='Lançamento' OR imo.ESTAGIO_OBRA='Revenda'"; }
if ( !empty($_GET['estagio']) && $_GET['estagio']==4 ) { $sql_busca.=" AND imo.ESTAGIO_OBRA='Pronto' OR imo.ESTAGIO_OBRA='Revenda' OR imo.ESTAGIO_OBRA='Lançamento'"; }
// TIPO DE IMOVEL
if ( !empty($_GET['tipo']) ) {
$sql_busca.=" AND imo.CODIGO_CT=".$_GET['tipo'];
$vfiltros[] = array('tipo',$_GET['tipo']);
}
// CIDADE
if ( !empty($_GET['busca_cidade']) ) {
$sql_busca.=" AND imo.cidade='".urldecode($_GET['busca_cidade'])."' ";
$vfiltros[] = array('busca_cidade',$_GET['busca_cidade']);
}
// AREA
if ( !empty($_GET['area']) ) {
$v_area = split('-',$_GET['area']);
$sql_busca.=" AND (imo.AREA_PRIVATIVA>=".$v_area[0]." and imo.AREA_PRIVATIVA<=".$v_area[1].") ";
$vfiltros[] = array('area',$_GET['area']);
}
// preço
if ( !empty($_GET['preço']) ) {
$v_preco = split('-',$_GET['preço']);
$sql_busca.=" AND (imo.VLR_VENDA>=".($v_preco[0]*1000)." and imo.VLR_VENDA<=".($v_preco[1]*1000).") ";
$vfiltros[] = array('preço',$_GET['preço']);
}
// preço
if ( !empty($_GET['preco2']) ) {
$v_preco = split('-',$_GET['preco2']);
$sql_busca.=" AND (imo.VALOR_ALUGUEL>=".($v_preco[0])." and imo.VALOR_ALUGUEL<=".($v_preco[1]).") ";
$vfiltros[] = array('preco2',$_GET['preco2']);
}
// FAVORITOS
if ( !empty($_GET['favoritos']) )
{
$sqlfav = "";
if ( isset($_COOKIE['favoritos']) )
{
$cods=split(",",$_COOKIE['favoritos']);
//print_r($cods);
$sqlfav .=" AND (";
for($i=count($cods)-1;$i>=0;$i--){
if(trim($cods[$i])!='') {
$sqlfav .= " imo.CODIGO=".$cods[$i];
if(count($cods)>0) { $sqlfav .= " OR "; }
}
}
$sqlfav = rtrim($sqlfav, "OR ");
$sqlfav .=" )";
//echo $sqlfav;
}
$sql_busca .= $sqlfav;
if (str_replace(" ","",$sqlfav)!="AND()") $sql_busca .= $sqlfav; else $sql_busca = ' AND 1=2 ';
}
// BAIRROS SELECIONADOS
if ( !empty($_GET['bairros']) ) {
$total = count($_GET['bairros']);
$sql_busca .= " AND (";
foreach ($_GET['bairros'] as $value)
{
$sql_busca .= " imo.BAIRRO IN ('". urldecode($value) ."') ";
$total--;
if ($total!=0) { $sql_busca .= " OR "; }
//PAGINACAO
$param.="bairros[]=".urlencode($value)."&";
//filtros
$vfiltros[] = array('bairros[]',$value);
}
$sql_busca .= " ) ";
}
// DORM
if (!empty($_GET['dormitorio']) && $_GET['dormitorio']==1) { $sql_busca .= " AND imo.DORMITORIO=1"; }
if (!empty($_GET['dormitorio']) && $_GET['dormitorio']==2) { $sql_busca .= " AND imo.DORMITORIO=2"; }
if (!empty($_GET['dormitorio']) && $_GET['dormitorio']==3) { $sql_busca .= " AND imo.DORMITORIO=3"; }
if (!empty($_GET['dormitorio']) && $_GET['dormitorio']==4) { $sql_busca .= " AND imo.DORMITORIO>=4"; }
if (!empty($_GET['dormitorio'])) {
$vfiltros[] = array('dormitorio',$_GET['dormitorio']);
}
// GARAGEM
if (!empty($_GET['garagem']) && $_GET['garagem']==1) { $sql_busca .= " AND imo.QUANTITADE_GAR>=1"; }
if (!empty($_GET['garagem']) && $_GET['garagem']==2) { $sql_busca .= " AND imo.QUANTITADE_GAR>=2"; }
if (!empty($_GET['garagem']) && $_GET['garagem']==3) { $sql_busca .= " AND imo.QUANTITADE_GAR>=3"; }
if (!empty($_GET['garagem']) && $_GET['garagem']==4) { $sql_busca .= " AND imo.QUANTITADE_GAR>=4"; }
if (!empty($_GET['garagem'])) {
$vfiltros[] = array('garagem',$_GET['garagem']);
}
// FAIXA DE PREÇO SELECIONADA
if( !empty($_GET['finalidade']) && $_GET['finalidade']=='locacao' ) {
if (!empty($_GET['de2'])) { $sql_busca .= " AND imo.VALOR_ALUGUEL>=".$_GET['de2']." "; }
if (!empty($_GET['ate2'])) { $sql_busca .= " AND imo.VALOR_ALUGUEL<=".$_GET['ate2']." "; }
}else{
if (!empty($_GET['de1'])) { $sql_busca .= " AND imo.VLR_VENDA>=".$_GET['de1']." "; }
if (!empty($_GET['ate1'])) { $sql_busca .= " AND imo.VLR_VENDA<=".$_GET['ate1']." "; }
}
}
/*
END BUSCA
---------------------------------------------------------------------
*/
/*
ORDENAR OS RESULTADOS
---------------------------------------------------------------------
*/
if(isset($_GET["ordem"])) {
$_SESSION["ordem"]==$_GET["ordem"] ? $_SESSION["ordem"] = $_SESSION["ordem"] : $_SESSION["ordem"] = $_GET["ordem"];
} elseif(!isset($_SESSION["ordem"])) {
$_SESSION["ordem"] = "VLR_VENDA DESC, VALOR_ALUGUEL DESC";
}
/*
---------------------------------------------------------------------
*/
$sql = "SELECT DISTINCT
imo.PLACA, imo.CODIGO, imo.CODIGO_CT, cat.CATEGORIA, cat.GRUPO, imo.STATUS, imo.BAIRRO, imo.CIDADE,
imo.DORMITORIO AS DORM, imo.ESTAGIO_OBRA,
imo.SUITE AS SUITE,
imo.QUANTITADE_GAR AS VAGA,
imo.LANCAMENTO,
imo.AREA_PRIVATIVA AS AREA,
imo.AREA_TOTAL,
imo.VLR_VENDA,
imo.VALOR_ALUGUEL,
imo.EMPREENDIMENTO
FROM CADIMO imo
LEFT JOIN CADCAT cat ON cat.CODIGO=imo.CODIGO_CT
LEFT JOIN CADCLI cli ON cli.CODIGO_C=imo.CODIGO_C
WHERE
imo.VER_WEB='Sim'
AND (imo.STATUS='VENDA' OR imo.STATUS='LOCAÇÃO')
$sql_busca
ORDER BY ".$_SESSION['ordem']."
";
//echo $sql;
$sql_limit = " LIMIT ".$comeca_em.",".$_SESSION['regs_pp'];
$rst = mysql_query($sql) or die(mysql_error());
$total_reg = mysql_num_rows($rst);
/*
TITULO NAVEGADOR
---------------------------------------------------------------------
*/
$tit_browser = " ";
$tit_h="";
if (!empty($_GET["finalidade"]) && $_GET["finalidade"]=='locacao') { $tit_browser .= 'Imóveis para alugar ';}
else if (!empty($_GET["finalidade"]) && $_GET["finalidade"]=='venda') { $tit_browser .= 'Imóveis à venda '; }
else if (!empty($_GET["favoritos"]) ) { $tit_browser .= 'Imóveis Favoritos '; }
else if ( !empty($_GET['estagio']) && $_GET['estagio']==1 ) { $tit_browser .=" Entrega Até 1 Ano "; }
else if ( !empty($_GET['estagio']) && $_GET['estagio']==2 ) { $tit_browser .=" Lançamentos"; }
else if ( !empty($_GET['estagio']) && $_GET['estagio']==3 ) { $tit_browser .=" Pré-Lançamentos"; }
else if ( !empty($_GET['estagio']) && $_GET['estagio']==4 ) { $tit_browser .=" Prontos / Usados"; }
else { $tit_browser .= 'Imóveis '; }
if (!empty($_GET["tipo"]))
{
$sqlc = mysql_query("SELECT CATEGORIA FROM CADCAT WHERE CODIGO=".$_GET["tipo"]);
if(mysql_num_rows($sqlc)>0)
{
$st = mysql_fetch_array($sqlc);
$tit_browser .=' '.Maiusculo($st["CATEGORIA"]);
}
}
if (!empty($_GET["busca_cidade"]))
{
$tit_browser .=' em '.urldecode(Maiusculo($_GET["busca_cidade"]));
}
?>
<!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>
<? include("inc/layout/meta.php"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="<?= $tit_browser; ?> - <?= CFG_TITLE ?>" />
<meta name="keywords" content="imobiliaria porto alegre, imoveis porto alegre, fael imoveis" />
<meta name="classification" content="imoveis , imobiliaria">
<title><?= $tit_browser; ?> - <?= CFG_TITLE; ?></title>
<link href="inc/css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="inc/js/jquery.js"></script>
<script type="text/javascript" src="inc/js/jquery.ui.js"></script>
<script type="text/javascript" src="inc/js/jquery.cycle.js"></script>
<script type="text/javascript" src="inc/js/jquery.tooltip.js"></script>
<script type="text/javascript" src="inc/js/scripts.js"></script>
<script type="text/javascript" src="inc/js/validaform.js"></script>
</head>
<body>
<div id="container">
<? include("inc/layout/header.php"); ?>
<? include("inc/layout/busca.php"); ?>
<? include("inc/layout/animacao.php"); ?>
<div id="mainContent">
<div id="leftContent">
<? include("inc/layout/filtro.php"); ?>
<? include("inc/layout/servicos.php"); ?>
</div><!-- end #leftContent -->
<div id="rightContent">
<h1><?php echo $tit_browser; ?></h1>
<div class="paginacao">
<!--<p class="left">Total de imóveis encontrados: <strong><?= $total_reg; ?></strong></p>-->
<? if($total_reg>0) { ?>
<select onchange="window.location='<?=current_page()?>?<?=$param?>ordem='+this.value">
<option value="">Ordenar por:</option>
<optgroup label="Preço">
<? if ($_GET['finalidade']=='locacao') { ?>
<option value="VALOR_ALUGUEL ASC" <?= $_SESSION["ordem"]=="VALOR_ALUGUEL ASC" ? 'selected="selected"' : '' ?> >Menor Preço</option>
<option value="VALOR_ALUGUEL DESC" <?= $_SESSION["ordem"]=="VALOR_ALUGUEL DESC" ? 'selected="selected"' : '' ?>>Maior Preço</option>
<? } else { ?>
<option value="VLR_VENDA ASC" <?= $_SESSION["ordem"]=="VLR_VENDA ASC" ? 'selected="selected"' : '' ?> >Menor Preço</option>
<option value="VLR_VENDA DESC" <?= $_SESSION["ordem"]=="VLR_VENDA DESC" ? 'selected="selected"' : '' ?>>Maior Preço</option>
<? } ?>
</optgroup>
<optgroup label="Área">
<option value="imo.AREA_TOTAL ASC" <?= $_SESSION["ordem"]=="imo.AREA_TOTAL ASC" ? 'selected="selected"' : '' ?>>Menor Área</option>
<option value="imo.AREA_TOTAL DESC" <?= $_SESSION["ordem"]=="imo.AREA_TOTAL DESC" ? 'selected="selected"' : '' ?>>Maior Área</option>
</optgroup>
<optgroup label="Dormitórios">
<option value="imo.DORMITORIO ASC" <?= $_SESSION["ordem"]=="imo.DORMITORIO ASC" ? 'selected="selected"' : '' ?>>Menos Dormitórios</option>
<option value="imo.DORMITORIO DESC" <?= $_SESSION["ordem"]=="imo.DORMITORIO DESC" ? 'selected="selected"' : '' ?>>Mais Dormitórios</option>
</optgroup>
</select>
<? } ?>
</div><!-- end .paginacao -->
<div class="imoveis">
<?
if($total_reg>0) {
$i=0;
$rs = mysql_query($sql." ".$sql_limit) or die(mysql_error());
while($imovel=mysql_fetch_array($rs)) {
$i++; $quebra = ($i%2==0) ? ' quebra' : '';
include("inc/layout/box.php");
}
}else if( !empty($_GET["favoritos"]) && $total_reg==0 ){
echo "<br />Você não possui imóveis salvos como favorito. <br />";
}else{
echo "<br />Não existem imóveis para o filtro selecionado. Refaça seus filtros e tente novamente.<br />";
}
?>
</div><!-- end .imoveis -->
<? if($total_reg>6) { ?>
<div class="paginacao paginacao-bottom">
<!--<p class="left">Total de imóveis encontrados: <strong><?= $total_reg; ?></strong></p>-->
<p class="right"><?= escreve_paginacao($param,$pg,$_SESSION['regs_pp'],$total_reg); ?></p>
</div><!-- end .paginacao -->
<? } ?>
</div><!-- end #rightContent -->
</div><!-- end #mainContent -->
</div><!-- end #container -->
<? include("inc/layout/footer.php"); ?>
</body>
</html>
Se alguém puder me ajudar ficarei muito agradecido.
Question
Fabio Brito
Bom dia pessoal,
meu nome é Fabio Brito e gostaria da ajuda de vocês quanto a um problema que estou enfrentando com uma aplicação hospedada na Locaweb.
Meu site é de uma imobiliária, portanto utiliza de PHP e MYSQL para fazer buscas de imóveis no site.
O problema é que a Locaweb esta ameaçando tirar meu site do ar pois está causando sobre carga no servidor compartilhado deles e alegam que o problema está em nosso código. Meu site tem em torno de 15Mil acessos mês então este não é o problema.
Abaixo segue o código PHP da página mais requisitada do site:
Se alguém puder me ajudar ficarei muito agradecido.
Obrigado a todos.
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.