MySQLi connect к базе данных через сокет скачет...

vGhost

Новичок
MySQLi connect к базе данных через сокет скачет...

Есть такая проблема делаю соединение с базой данных, если в кратце не вдаваясь в подробности то так:
PHP:
Class sql_class EXTENDS mysqli
{
	Public Function Connect()
	{
		.......
		$this->SQL = parent::__construct(
			$this->_c_host,
			$this->_c_login,
			$this->_c_passw,
			$this->_c_dbnam,
			$this->_c_Port,
			$this->_c_Socket
		);
		......
	}
}
при этом:
$this->_c_host === NULL
$this->_c_Port === NULL
База данных без поддержки networking т.е. соединения в принципе могут протекать только через UNIX сокет.
PHP Version 5.0.5
Apache 2.0.55 Handler
MySQL 4.1.15

Делаю замеры времени установления соединения...
Так вот проблема в том что с не понятной периодичностью один раз соединение устанадливается за 0,03-0,05 секунды, второй раз за 0,0005-0,001 секунды, следующий раз снова за 0,03-0,05 секунды, потом опять за 0,0005-0,001 секунды. Просто тупо тыкаю рефреш на одной и той же страничке на одном и том же скрипте. Сколько угодно раз тыкать можно хоть 100 раз всегда будет так не когда не бывает чтоб один из вариантов был 2 раза подряд. Идёт чёткое постоянное чередование. В мозгу крадётся мысль что либо оно в одном из случае использует предыдущее соединение потому время на его установление не тратится(тогда вопрос как сделать чтоб оно его всегда использовало аля pconnect с старом mysql) либо наоборот пытается убить старое соединение(на что тратит дополнительное время и ресурсы) и устанавливает новое(тогда вопрос как сделать чтоб оно убивалось автоматом при завершении экземпляра скрипта)..
В чём прикол вобщем что делаю не так?
 

440hz

php.ru
vGhost
а ты замеряешь весь срипт или только коннект ибо обработка всего скрипта зависит от куда больших паарметров ... и тормозить может совсем не том месте где меряем.

покажи кусок где замеряешь?
 

vGhost

Новичок
Я давно не новичёк чтоб делать такие глупости, естественно только коннект.
 

440hz

php.ru
vGhost
я не в обиду.
я попробовал. http://440hz.ru/trash/connect/ действительно иногда бывает зашкаливает, но пробовал на mysql_, вечерком потестирую на mysqli_ если надо. просто порт доставлю

PHP:
<? 

$OOPSGlobal["DB_HOST"] = ":/tmp/mysql.sock";
$OOPSGlobal["DB_DATA"] = "440hz";
$OOPSGlobal["DB_USER"] = "440hz";
$OOPSGlobal["DB_PASS"] = "123456";

$start = microtime();
$conn = mysql_connect($OOPSGlobal["DB_HOST"],$OOPSGlobal["DB_USER"],$OOPSGlobal["DB_PASS"]);
$stop = microtime();


if($conn)
	print('время коннекта: '.($stop - $start));
else
	print('OOPS!');

?>
 

vGhost

Новичок
В том и проблема что при использовании ext/mysql не когда такого не было!
Всегда одинаково соединялся +- 0,002 сек. А тут вот решился перейти на mysqli и такая странная не понятная засада. При чём больше всего смущает именно то, что прослеживается периодичность. Я бы ещё мог бы это как то списать на использование ресурсов другими процессами если бы периодичности не было..
А так не понятно в чём дело..
 
Сверху