Почему сайт медленно работает?

Тема закрыта
576
.
Zoomix
У знакомого дедик арнедованый, на его сайтах генерация 0.xx (обращаться больно не к кому), даже у себя щас на поддомене поставил чистый john и там генерация 0.xx
.
В стельку трезвый
Покажи код рекламы...
.
не реклама это.. а кривые модули. поставил ты чтото такое, что написано очень и очень криворуко. идет бесконечная процедура больше всего.
.
Zoomix (08.08.2010/12:07)
VARG, попробывал без рекламы, все равно генерация 3.xx - 5.xxНа поддомене стоит чистый john - на нем генерация 0.xx
Вот доказательство этому. ведь чистый джон не тупит же.
.
// MultiClick Publisher Code
// Language: PHP
// Version: 20080229

function multiclick_append_params(&$params, $key, $val) {
  if(!empty($val)) $params .= ("&" . urlencode($key) . "=" . urlencode($val));
}	
		
function multiclick_ad($multiclick_ad_params=array()){
	// Основные данные
	$multiclick_uri = "/show.php?placement=3940";
	multiclick_append_params($multiclick_uri,"version","20080229-PHPS"); 
	multiclick_append_params($multiclick_uri,"ua",$_SERVER["HTTP_USER_AGENT"]); // юзер-агент
	multiclick_append_params($multiclick_uri,"ip",$_SERVER["REMOTE_ADDR"]); // ip пользователя
	multiclick_append_params($multiclick_uri,"ip2",$_SERVER["HTTP_X_FORWARDED_FOR"]); // ip пользователя
	multiclick_append_params($multiclick_uri,"ruri",$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]); // адрес страницы
	multiclick_append_params($multiclick_uri,"charset",MULTICLICK_CHARSET); 
	// Специфические данные от Opera-muni
	multiclick_append_params($multiclick_uri,"miniua",$_SERVER["HTTP_X_OPERAMINI_PHONE_UA"]); // Исходный юзер-агент
	multiclick_append_params($multiclick_uri,"miniphone",$_SERVER["HTTP_X_OPERAMINI_PHONE"]); // телефон
	foreach ($multiclick_ad_params as $key=>$value)
		multiclick_append_params($multiclick_uri,$key,$value);
	$multiclick_request = @fsockopen("".MULTICLICK_HOST."", 80);
	if ($multiclick_request) {
		stream_set_timeout($multiclick_request, MULTICLICK_TIMEOUT);
		fwrite($multiclick_request, "GET {$multiclick_uri} HTTP/1.0\r\n");
		fwrite($multiclick_request, "Host: " . MULTICLICK_HOST . "\r\n\r\n");
		$multiclick_info = stream_get_meta_data($multiclick_request);
		$multiclick_timeout = $multiclick_info['timed_out'];
		$multiclick_contents = "";
		$multiclick_body = false;
		while (!feof($multiclick_request) && !$multiclick_timeout) {
			$multiclick_line = fgets($multiclick_request);
			if(!$multiclick_body && $multiclick_line == "\r\n") $multiclick_body = true;
			if($multiclick_body && !empty($multiclick_line)) $multiclick_contents .= $multiclick_line;
			$multiclick_info = stream_get_meta_data($multiclick_request);
			$multiclick_timeout = $multiclick_info['timed_out'];
		}
		fclose($multiclick_request);
		if($multiclick_timeout) {
			return "";
		} else {
			return $multiclick_contents;
		}
	}
}

define("MULTICLICK_TIMEOUT", 1);
define("MULTICLICK_HOST", "show.multiclick.ru");
define("MULTICLICK_CHARSET", "utf-8");// кодировка, в которой нужно выдавать код
// Анкетные даные для социального таргетинга:
$multiclick_ad_params = array(
"gender"=>"", // OPTIONAL пол пользователя m[ale] or f[emale]
"age"=>"", // OPTIONAL возраст пользователя от 1 до 99
"region"=>"", // OPTIONAL название города или региона
"interest"=>"", // OPTIONAL интересы пользователя через запятую 
"sid"=>"8237", // id социальной сети (=id партнера в системе МультиКлик)
"uid"=>"" // OPTIONAL Уникальный идентификатор пользователя (не обязан совпадать с оригинальным в системе)
);
echo multiclick_ad($multiclick_ad_params);
error_reporting(7);
define(START_TIME,microtime(true));
define(NL,chr(13).chr(10));
define(ADS_TIMEOUT,5);

#ID площадки
$client_ID   = '429';
#Секретный уникальный код площадки
$client_CODE = '1280415856';

echo mobi_ads($client_ID, $client_CODE);
echo NL.'<!--MOBIADS '.sprintf("%f", microtime(true)-START_TIME).'-->'.NL;

function mobi_ads($id, $key) {
	$headers = get_http_headers();
	foreach(array_keys(array_intersect($headers,
	array('Cookie', 'Authorization'))) as $key)unset($headers[$key]);
	$info = serialize(array('id' => intval($id),'ip' =>
	$_SERVER['REMOTE_ADDR'],'headers' => $headers,));
	$post = 'secure='.md5($key.'/'.$info.'/'.$key).'&info='.urlencode($info);
	return ADS_get_response($post);
}

function get_http_headers() {
	foreach ($_SERVER as $name => $value)
	{if(strncmp($name, 'HTTP_', 5) == 0)
	{$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ',
	substr($name, 5)))))] = $value;}}
	return $headers;
}


function ADS_get_response($POST = '', $HOST = '77.221.155.51:80', $PATH = '/ads.php') {
	$URL = 'http://'.$HOST.$PATH;

	//Socket start
	$request = 'POST '.$PATH.' HTTP/1.0'.NL.
	'Host: '.$HOST.''.NL.'Connection: Close'.NL.
    'Content-Type: application/x-www-form-urlencoded'.NL.
    'Content-Length: '.strlen($POST).NL.NL.$POST;
    if(false !== $socket = fsockopen($HOST, $port, $errno, $errstr, ADS_TIMEOUT))
    {
	    fwrite($socket, $request);
	    $contents = '';
	    while(!feof($socket)){$contents .= fread($socket, 1024);}
	    fclose($socket);
	    $ex = explode(NL.NL,trim($contents));
	    if(strpos($ex[0],'200 OK') === false)
	    $contents = ''; else $contents = $ex[1];
		return $contents.NL.'<!--so-->';
    }
    else
    {
    	#return '<!--ERROR: '.$errstr.' ('.$errno.')-->';
    }
    //Socket end

	//file_get_contents + context start
	if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
		$context = stream_context_create(array (
	        'http' => array (
	        		'method' => 'POST',
		            'header' => 'Content-Type: application/x-www-form-urlencoded'.PHP_EOL,
	    	        'content' => $POST,
	        	    'timeout' => ADS_TIMEOUT,
		        ),
	    ));
	    $contents = file_get_contents($URL,false,$context);
	    if(strpos($http_response_header[0],'200 OK') === false)
	    $contents = '';
	    return $contents.NL.'<!--fg-->';
	}
    //file_get_contents + context end

	//Curl start
	if(
	in_array('curl', get_loaded_extensions())&&
	function_exists("curl_init") &&
	function_exists("curl_setopt") &&
	function_exists("curl_exec") &&
	function_exists("curl_close")) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $URL);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
		curl_setopt($ch, CURLOPT_TIMEOUT, ADS_TIMEOUT);
		$contents = curl_exec($ch);
		$header  = curl_getinfo($ch);
		curl_close($ch);
		if($header['http_code'] != 200)
		$contents = '';
		return $contents.NL.'<!--cu-->';
	}
	//Curl end
}
echo mobi_ads($client_ID, $client_CODE);
.
Gluk89, да модулей то и нет левых...от john'а: форум, гостевая, новости + модуль от сатистики от макса 5.0 версии
2 граба
6 инфо разделов. которые к базе неподключаются
.
грабы чего?
.
fowap.ru/mel.php
stars.wapos.ru
.
В стельку трезвый
Zoomix (08.08.2010/14:10)
[php]// MultiClick Publisher Code// Language: PHP// Version: 20080229function multiclick_append_params(&$params, $key, $val) { if(!empty($val)) $params .= ("&" . urlencode($key) . "=" . urlencode($va
возможно я плохо смотрел, но кэширования рекламы никакого абсолютно не заметил.
Смотри что ты получаешь:
У тебя стоит данная реклама на каждой странице в двух местах. Одно место получает рекламу с ограничением в 5 секунд и второе место получает рекламу с таким же ограничением.
Вот и смотри. Твой сервер начинает юзать curl для того чтобы получить рекламу. Это не самая быстрая операция, т.к. твой сервер дожидается ответа стороннего сервера и только потом продолжает выполнение скрипта. И постоянное юзанье curl это очень не хорошо. Убери рекламу или сделай кэширование.
.
Zoomix
Максим, "или сделай кеширование" - а можно узнать как его сделать в двух словах? или надо ворочить весь двиг?
UPD: попробывал убрать сейчас код рекламы - все равно генерация 3.xx - 5.xx, а то и больше иногда
Всего: 28