LINUX.ORG.RU

пул соеденений с базой данных.


0

0

Задача состоит в написании некой подобии TDS - системы учета/редиректа по правилам трафика. Данные статистики должны сохраняется в базу данных. Причем формат, поля таблиц специфичные для этой системы. Т.е. взять готовую TDS какую-то не получится скорее всего. Трафика будет много, т.е. важна производительность.

Самый очевидный вариант сделать эту систему на php:) ну или же использовать mod_perl, да хоть на с\c++ и fastcgi. Но самое узкое место, это общение с базой данных (скорее всего будет mysql или postgresql). Чаще всего при запуске обработчика запроса, обычно создается соеденение с базой данных, а при завершении оно закрывается. Создание соеденения - длительная операция. Если прием трафика будет скриптом на php и скрипт будет создавать соеднение и завершать его, то при отностельно небольшом трафике, закончатся свободные соеденения с базой данных и mysql впадет в анабиоз до перезагрузки. И так будет всеравно, что использовать, тот же php, mod_perl, даже если сделать модуль для apache/nginx.

Необходимо делать что-то типа пула соеденений с базой данных, т.е. соедененяи с базой данных создаются неким промежуточным звеном и раздаются во временное пользование обработчикам запросов. Т.е. пул соеденений к базе данных по аналогии с пулом потоков. Вот вопрос сделать пул соеденений с базой на с можно, как интергировать его с mod_perl/php? Я думаю такая задача встречаетяс часто, но готового ничего не видел, может плохо искал.


Ответ на: комментарий от aydar

Да очень похоже, но как же управлять этим пулом? не увидел числа предельного даже числа этих соеденений.

reed ()

>Трафика будет много, т.е. важна производительность.

Ну так скидывай все в текстовые файлы, а потом подсасывай в базу отдельно.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.