ichthyandr Posted October 4, 2012 Всем приветы, интересует вот что: во всех примерах, которые видел, обращение к mysql из rlm_perl функций ( authorization, accounting ... т.д.) производится через создание DBI коннектора в каждой функции. Как это сказывается на производительности? Можно ли создать глобальный DBI коннектор (например, объявив его через our ) и использовать его в вызовах rlm_perl? Спасибо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted October 4, 2012 Насколько я понимаю - rlm_perl грузится при запуске радиуса и висит в памяти, соответственно и соединение с БД одно и то же также висит Единственное - стОит, возможно, при каждом обращении вызывать ф-ию DBI->connect_cached, которая восстановит соединение, если вдруг оно оборвалось Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
andriko Posted October 5, 2012 хмм у меня коннект в sub CLONE(){ $dbh = DBI->connect('DBI:mysql:radius;host=localhost;port=3306', db_user, db_pass) or return RLM_MODULE_FAIL; } правда mysqladmin показывает больше колличество коннектов от самого радиуса чем от скрипта, правда в скрипте не для всех функций радиуса используется, только authorize и post_auth Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted October 10, 2012 хмм у меня коннект в sub CLONE(){ $dbh = DBI->connect('DBI:mysql:radius;host=localhost;port=3306', db_user, db_pass) or return RLM_MODULE_FAIL; } правда mysqladmin показывает больше колличество коннектов от самого радиуса чем от скрипта, правда в скрипте не для всех функций радиуса используется, только authorize и post_auth что-то я не видел в примерах stub CLONE для rlm_perl freeradius2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
andriko Posted October 11, 2012 что-то я не видел в примерах stub CLONE для rlm_perl freeradius2 значит надо искать не в примерах :) не помню откуда взял, давно было. Быстрей всего с freeradius-users лист. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MagMike Posted October 12, 2012 значит надо искать не в примерах :) не помню откуда взял, давно было. Быстрей всего с freeradius-users лист. в src/modules/rlm_perl/example.pl из исходников freeradius'а # If you are using DBI and do some queries to DB, please be sure to # use the CLONE function to initialize the DBI connection to DB. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted October 12, 2012 значит надо искать не в примерах :) не помню откуда взял, давно было. Быстрей всего с freeradius-users лист. в src/modules/rlm_perl/example.pl из исходников freeradius'а # If you are using DBI and do some queries to DB, please be sure to # use the CLONE function to initialize the DBI connection to DB. ok, спасибо, там еще не смотрел :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...