-
Хочу использовать базы сервера Firebird в многопоточном приложении.. Число потоков около 400.. Будет ли работать коректно сервер с таким числом потоков??? Какой тип сервера лучше для этой цели использовать Super Server или Classic???
-
лучше подумать о сокращении числа потоков... 400 это довольно много, вот попробуй сделать тест приложение создающее 3000 пустых (цикл со sleep(0) внутри) и посмотри на реакцию компа/операционки... (когда то тестил, комп "загнулся" на примерно 2000 с лишним, хотя с тех пор мощности подросли... может и прокатит)
ну вот, а если получится как и у меня, подумай 400 это сколько от 2000? и что будет если они еще будут и загруженные?
хотя думать нужно конечно не о том, хватит мощностей или нет, а о том - нафига их столько? зачем часть вычислительных сил компа "убивать" на переключение между потоками/синхронизации и т.д.
-
> когда то тестил, комп "загнулся" на примерно 2000 с лишним,
> хотя с тех пор мощности подросли... может и прокатит
В Delphi по дефолту при создании потока выделяется 1МБ, а адресное пространство небезлимитно.
-
> Loginov Dmitry © (24.04.10 00:10) [2]
Может у него сервер на 96 процессоров.. и пара десятков терабайт памяти..
Ждем автора :)
-
> Может у него сервер на 96 процессоров.. и пара десятков
> терабайт памяти..
А разница какая? Процессу в x86 под рабочие нужды доступно только 2-3 Гб.
> Ждем автора
Подробности у него на sql.ru
-
> sniknik (23.04.2010 18:50:01) [1]
Есть сомнение, что сможет создать даже 2000 потоков.
-
> turbouser (24.04.2010 00:20:03) [3]
И конечно Дельфи 64 битный
-
Ето будет чат с дополнительними функцыями TidTcpServer так как Indy подключаэт каждого клиента в отдельному потоке виходит что 400 клиентов=400 потоков...
-
> так как Indy подключаэт каждого клиента в отдельному потоке
зачем ты ему говоришь так дэлать?