Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день.
таблица очень маленькая. 10 строк 8 столбцов.БД ~30 таблиц. в процессе пока не учавствующих.
клиент запрос делает с цикличностью в 200мс.
в среднем время обработки всё вместе не превышает 40мс.
но бывают непонятные пока задержки ~1.2с. в процессе поиска выяснил что
следующиий код чаще всего даёт задержку
$db=mysql_pconnect("localhost","dbbase","111111");
mysql_select_db("dbbase",$db);
обычное время выполнения 0.01347с . необычное и ненужное около 1с.
меряю время след. образом
define("timeDb", microtime(true));
$db=mysql_pconnect("localhost","dbbase","111111");
mysql_select_db("dbnews",$db);
$timeDb=round(microtime(true)-timeDb,5);
и в конце файла
mysql_query("INSERT physicDebug SET timeDb='$timeDb' ");
подскажите как определить в проблему.? или даже как её решить. Спасибо
Отредактированно John (22.08.2010 10:37:16)
Неактивен
Выдайте права на подключение по IP, а не по имени машинки, и включите --skip-name-resolve. Если упираетесь в потоки, то можно thread_cache поднять, но, скорее всего, все-таки DNS.
Неактивен
Спасибо Вам. подскажите пожалуйста, где можно почитать про права на подключение по IP. или как это сделать?
Неактивен
спасибо. FAQ действительно полезный.
я может плохо искал, но по подключение по IP нашёл статью про подключение к удалённому mysql-серверу. Но у меня он по-идее не удалённый. а там же где и апачи. Или я может не так вас понял.то есть скрипт я выполняю на сервере, потом echo. как обычно.
Просветите пожалуйста
Неактивен
Существует две технологии подключения к MySQL: unix socket и tcp/ip.
Если Вы подключаетесь по unix socket, то тогда проблема, скорее всего,
в apache — как ее полечить не очень понятно, но тогда можно перевести
PHP в режим fastcgi (так, чтобы на него не накладывались баги апача).
Если Вы подключаетесь по tcp/ip (даже локально), то MySQL пытается
определить имя хоста при подключении. Иногда DNS отвечает не момен-
тально, и, соответственно, у Вас возникает таймаут.
Неактивен
Спасибо Вам за подробный ответ.
Неактивен