- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
когда на обслуживание запроса процентов 70 времени проводится в ожидании ответов от базы
А что так долго-то? При работе с базой самая длительная операция - установление коннекции с базой. Что решается созданием пула коннекций... или я чего-то не догоняю?
MySQL для таких задач это как зайцу стоп сигнал, ...
Не догоняешь. :)
С Ораклом конечно подключение долго может устанавливаться, поэтому там без пула никуда.
А из PHP в MySQL на P4 однопроцессорном подключения создаются со скоростью примерно 8 тысяч в секунду (при правильной настройке конечно). То есть времени на эту операцию затрачивается мизер. А вот запросы - время жрут. А последующая обработка в php - опять же мизер (скрипт echo "hello world" на дефолтном Апаче опять же на P4 отдается где-то 2 тысячи раз).
скрипт echo "hello world" на дефолтном Апаче опять же на P4 отдается где-то 2 тысячи раз
Это еще зависит от того как его брать, ...
А что так долго-то? При работе с базой самая длительная операция - установление коннекции с базой. Что решается созданием пула коннекций...
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. Отсюда и громадная разница.
И зачем пул? :)
И зачем пул?
Как тебе сказать. Я не администратор БД, а всего лишь разработчик :)
Смотри. Ты создаёшь некий объект в памяти, а потом его убиваешь. Вероятнее всего, всё это происходит под одним и тем же аккаунтом БД, т.е. создаются и убиваются одинаковые объекты. Допустим, у тебя возникает 100 коннектов в секунду, и средняя продолжительность коннекта 5 секунд. В твоём варианте, создаётся и высвобождается 6000 коннектов за минуту. В случае пула, надо создать всего 500 коннектов. Т.е. чего-то наэкономили в 12 раз.
А чем кстати, вы тесты и замеры производите?
да, очевидно грамотнее было бы сказать, что создание коннекции не длительная, а ресурсоёмкая операция. И пул нужен не только ради экономии этих самых ресурсов (время кстати это тоже ресурс :)), но в случае проприетарных БД ещё и для того, чтобы лицензии на большее количество конкурирующих коннекций не покупать. В общем, всё что хотел сказать, я вроде бы сказал, так что камень теперь на вашей стороне :)
Допустим, у тебя возникает 100 коннектов в секунду, и средняя продолжительность коннекта 5 секунд. В твоём варианте, создаётся и высвобождается 6000 коннектов за минуту. В случае пула, надо создать всего 500 коннектов. Т.е. чего-то наэкономили в 12 раз.
Хм... Вполне может быть. Сейчас попробую придумать как бы это проверить.
А чем кстати, вы тесты и замеры производите?
mysql_connect
mysql_select_db
mysql_close
И так много раз после чего getmicrotime :)
mysql_connect
mysql_select_db
mysql_close
И так много раз после чего getmicrotime
Гм. Не системный я программист, к тому же не юниксовый. Поэтому чую, что бесовщина, а обосновать не могу ©
Как бы, когда у тебя идёт обращение к PHP-странице, то у тебя стартует два процесса - апачевский и php-шный. Так что обращение к 1000 страниц, создающих по 1 коннекции к БД это совсем не то же самое, что создание 1000 коннекций внутри одного скрипта. При этом я имею ввиду не накладные расходы на запуск двух процессов...
когда у тебя идёт обращение к PHP-странице, то у тебя стартует два процесса - апачевский и php-шный.
Если php используется как Apache module то это часть Apache процесса и даже Apache процесс при обращении к странице обычно не стартует потому что есть предварительно запущенные копии сервера но мысль в Вашей фразе идет в правильном направлении, ...