Dmitry Yemanov-2 wrote:
> 
> Строго 1024 коннекта на супере, зависит от системных ресурсов на
> классике.<br>
> Была информация о 1200 коннектах, но этих людей тут наверное нет :-)<br>
> Дмитрий Еманов

Задача- определить максимальное колличество соединений (выполняемых sql) на
сервере firebird работающего на операционной системе linux. Мащина для 
тестирования: intel сервер с 16Мб памяти, 2 процессора по 4 ядра (E8400),
Linux CentOs 5.3 работающий как виртуальная машина. Сервер базы данных
- FirebirdCS-2.1.2.18118-0.i686.rpm
- FirebirdCS-2.1.2.18118-0.amd64.rpm
- FirebirdSS-2.1.2.18118-0.i686.rpm

Поискав в интернете маскимальные настройки, я остановился на следующих:

/etc/xinet.d/firebird
# для тестирования, что бы не было ограничения соединений 
instances = UNLIMITED
per_source = UNLIMITED

/etc/xinet.d.conf
# для тестирования, что бы не было ограничения соединений
cps = 1000 10
instances = UNLIMITED
per_source = UNLIMITED

/etc/security/limits.conf
firebird soft nproc 16384
firebird hard nproc 16384
firebird soft nofile 65536
firebird hard nofile 65536

/etc/sysctl.conf
kernel.shmall = 134217728
kernel.shmmax = 134217728
kernel.sem=4096 512000 1600 2048
fs.file-max = 16384
kernel.threads-max = 50000

/opt/firebird/firebird.conf
DefaultDbCachePages = 2048
LockSemCount = 2048
LockHashSlots = 2017
LockMemSize = 8388608

все остальные параметры брались по умолчанию.

для тестирования использовались процедуры вызова sql-запроса

/opt/firebird/bin/isql test:/opt/firebird/examples/empbuild/employee.fdb
-NOD -u 'SYSDBA' -p mk&LT;EOF
select count(*) from EMPLOYEE a1
full join EMPLOYEE a2 on a1.EMP_NO=a1.EMP_NO
full join EMPLOYEE a3 on a1.EMP_NO=a2.EMP_NO
full join EMPLOYEE a4 on a1.EMP_NO=a3.EMP_NO
full join EMPLOYEE a5 on a1.EMP_NO=a4.EMP_NO;
exit;
EOF

Важно было запустить достаточное большое колличество запросов, до того, как
первый из них закончился, обычно такой запрос в одиночестве 0:05:14, на
практике
я не дождался окончания запроса.

Clasic server:

максимальное колличество коннектов в такой конфигурации ~850, после этого
сервер отказывает в новых соединених, общее колличество процессов ~1000, для
обычной и 64 разрядной версии.

Super server:

Казалось бы SS меньше зависит от настроек системы, но на практике получили
наоборот, после 288-го соединения получаем сообщение:
Unable to complete network request to host "85.x.x.x".
-Error writing data to the connection.
-Broken pipe
и все соединения, которые были установлены до 288 завершаются. Какие здесь
настройки править - тайна. Да и администрировать под Linux сервер SS сложно.

Хотя тормоза уже начинаются после 50 одновременно выполняемых sql, а после
100 
паузы в работе становятся огромными, я не смог достигнуть максимума в 1200
sql-ей. 

Видимо настройки еще нужно поправить?


-- 
View this message in context: 
http://www.nabble.com/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%BA%D0%BE%D0%BD%D0%B5%D0%BA%D1%82%D0%BE%D0%B2-%D0%BA-firebird--tp23313295p23424728.html
Sent from the firebird-russian mailing list archive at Nabble.com.

Ответить