Нужен хороший хостинг в пределах 500$/год

123 4
AiK
На сайте с 27.10.2000
Offline
257
AiK
#11

когда на обслуживание запроса процентов 70 времени проводится в ожидании ответов от базы

А что так долго-то? При работе с базой самая длительная операция - установление коннекции с базой. Что решается созданием пула коннекций... или я чего-то не догоняю?

Artisan
На сайте с 04.03.2005
Offline
360
#12

MySQL для таких задач это как зайцу стоп сигнал, ...

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
[Удален]
#13
А что так долго-то? При работе с базой самая длительная операция - установление коннекции с базой. Что решается созданием пула коннекций... или я чего-то не догоняю?

Не догоняешь. :)

С Ораклом конечно подключение долго может устанавливаться, поэтому там без пула никуда.

А из PHP в MySQL на P4 однопроцессорном подключения создаются со скоростью примерно 8 тысяч в секунду (при правильной настройке конечно). То есть времени на эту операцию затрачивается мизер. А вот запросы - время жрут. А последующая обработка в php - опять же мизер (скрипт echo "hello world" на дефолтном Апаче опять же на P4 отдается где-то 2 тысячи раз).

Artisan
На сайте с 04.03.2005
Offline
360
#14
Interitus:
скрипт echo "hello world" на дефолтном Апаче опять же на P4 отдается где-то 2 тысячи раз

Это еще зависит от того как его брать, ...

A
На сайте с 23.10.2003
Offline
196
#15
AiK:
А что так долго-то? При работе с базой самая длительная операция - установление коннекции с базой. Что решается созданием пула коннекций...

Sempron 2600@2.0Ghz + Windows 2000, php 5.0.3, mysql 4.0.17 - 5800 коннектов/сек

Celeron 1.4Ghz + FC1, php 4.3.11, mysql 3.23.58 - 21000 коннектов/сек

В первом случае TCP-соединение, во втором UNIX-sockets. Отсюда и громадная разница.

И зачем пул? :)

андроид ТВ (http://qway.com.ua/android_tv) и экшн камеры (qway.com.ua/action-cameras) в Украине.
AiK
На сайте с 27.10.2000
Offline
257
AiK
#16

И зачем пул?

Как тебе сказать. Я не администратор БД, а всего лишь разработчик :)

Смотри. Ты создаёшь некий объект в памяти, а потом его убиваешь. Вероятнее всего, всё это происходит под одним и тем же аккаунтом БД, т.е. создаются и убиваются одинаковые объекты. Допустим, у тебя возникает 100 коннектов в секунду, и средняя продолжительность коннекта 5 секунд. В твоём варианте, создаётся и высвобождается 6000 коннектов за минуту. В случае пула, надо создать всего 500 коннектов. Т.е. чего-то наэкономили в 12 раз.

А чем кстати, вы тесты и замеры производите?

AiK
На сайте с 27.10.2000
Offline
257
AiK
#17

да, очевидно грамотнее было бы сказать, что создание коннекции не длительная, а ресурсоёмкая операция. И пул нужен не только ради экономии этих самых ресурсов (время кстати это тоже ресурс :)), но в случае проприетарных БД ещё и для того, чтобы лицензии на большее количество конкурирующих коннекций не покупать. В общем, всё что хотел сказать, я вроде бы сказал, так что камень теперь на вашей стороне :)

A
На сайте с 23.10.2003
Offline
196
#18
AiK:
Допустим, у тебя возникает 100 коннектов в секунду, и средняя продолжительность коннекта 5 секунд. В твоём варианте, создаётся и высвобождается 6000 коннектов за минуту. В случае пула, надо создать всего 500 коннектов. Т.е. чего-то наэкономили в 12 раз.

Хм... Вполне может быть. Сейчас попробую придумать как бы это проверить.

AiK:
А чем кстати, вы тесты и замеры производите?

mysql_connect

mysql_select_db

mysql_close

И так много раз после чего getmicrotime :)

AiK
На сайте с 27.10.2000
Offline
257
AiK
#19

mysql_connect
mysql_select_db
mysql_close
И так много раз после чего getmicrotime

Гм. Не системный я программист, к тому же не юниксовый. Поэтому чую, что бесовщина, а обосновать не могу ©

Как бы, когда у тебя идёт обращение к PHP-странице, то у тебя стартует два процесса - апачевский и php-шный. Так что обращение к 1000 страниц, создающих по 1 коннекции к БД это совсем не то же самое, что создание 1000 коннекций внутри одного скрипта. При этом я имею ввиду не накладные расходы на запуск двух процессов...

Artisan
На сайте с 04.03.2005
Offline
360
#20
AiK:
когда у тебя идёт обращение к PHP-странице, то у тебя стартует два процесса - апачевский и php-шный.

Если php используется как Apache module то это часть Apache процесса и даже Apache процесс при обращении к странице обычно не стартует потому что есть предварительно запущенные копии сервера но мысль в Вашей фразе идет в правильном направлении, ...

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий