Временная остановка скрипта после подключения к базе. Почему ?

DimbIch

Новичок
Временная остановка скрипта после подключения к базе. Почему ?

Здрасти всем
заметил что на высоких нагрузках на своих серверах после подключения к базе скрипт замирает на 0.1-0.5 секунд

пример кода замеряющего время
PHP:
 $this->myLog->makeLog('Start connect to db');
 $this->db = mysqli_connect(....);
 $this->myLog->makeLog('Stop connect to db');
 $this->myLog->makeLog('Start autocommit false');
 $this->db->autocommit(false);
 $this->myLog->makeLog('Stop autocommit false');
пример лога

Start connect to db time 4.05311584473E-6
Stop connect to db time 3.40938568115E-5
Start autocommit false time 0.156788110733
Stop autocommit false time 0.156794071198
вопрос - почему после подключения к базе - оно зависло на 0.15 секунд ??
 

cDLEON

Онанист РНРСlub
Потому что выкинь свой makeLog :) Он у тебя самый главный тормоз :)
 

zerkms

TDD infected
Команда форума
после того как коннект прошёл - строка #2 никак на производительность влиять не может. то что между Stop connect to db time и Start autocommit false прошло 0.15с, значит МЕЖДУ ЭТИМИ ВЫЗОВАМИ ТВОЕГО myLog что-то и произошло
 

DimbIch

Новичок
Апокалипсис
да логирую - ибо время уходит в никуда

zerkms
я как бы понял что между вызовами логирования что-то произошло - только код пхп я привел прямо из скрипта - между ними НИЧЕГО НЕТ

только тут проблемко - в любых скриптах под очень высокой нагрузкой (до 30к обращений в секунду) наблюдается вот такой вот глюк - после коннекта к базе - подвисает

cDLEON
ценю ваш мудрый совет - но он не относится к делу и тут ни при чем
 

MaxiStyle

Новичок
только тут проблемко - в любых скриптах под очень высокой нагрузкой (до 30к обращений в секунду) наблюдается вот такой вот глюк - после коннекта к базе - подвисает
Может количество подключений к базе ограничено?
 

kode

never knows best
offtop
DimbIch

Кстате, использование $this->myLog->makeLog архитектурно неправильно, используйте статичные методы.

MyLog::makeLog();

алсо, покажите код makeLog()
 

dron4ik

Новичок
DimbIch
хм, может сама запись логов (тем более 30к в секунду) и тормозит процесс? как вы сами логи сохраняете, в файл или базу? (тут правда, я могу чего-то недопонимать...)

Не проще на время теста поставить профайлер?
 
Сверху