Hi! I have set of Delphi applications that uses IBX and Zeos for connecting to Firebird 3.0 server. Some are direct client-server solutions (i.e. Delphi application uses IBX or Zeos components to open connection on the Firebird server) and some are 3-tier applications which have Delphi server and Delphi client (TClientDataSet is used for communication), but this server again uses IBX and Zeos. Just wanted to know - can there be any scalability issues. Currently we have some 30-40 concurrent connections, but their number can grow to 80, I guess - no more than 100.
I remember from old days (back to ~2006, Firebird 1.0/Interbase 6.0/Firebird 1.5 times) that the high number of DB connections (around 50 and more) could hurt performance very much and very little could be done. Just wanted to check the current situation? Other databases have similar restrictions on the number of connections https://stackoverflow.com/questions/3733688/database-concurrent-connections-in-regard-to-web-http-requests-and-scalability and I wonder what is the best practice for Firebird with Delphi? The usual architecture for my client-server Delphi application is that I have one TIBDatabase and/or TZConnection per Delphi application and that is why MON$ATTACHMENTS usually show 1-2 attachments for each user. I guees - this is correct and I can simply can not make more optimization here - application should have 1-2 connection and there can not be any more pooling-type optimization here, am I right? For the 3-tier applications I have 1-2 connections for TDataModule and each TDataModule servers one user and those TDataModules are pooled with their connections preserved. Ususally I have 20-30 connections from my 3-tier application. Recently we increase the number of users/connections (as I said - to 50-80) and I am worrying now what can happen, should I be ready for emergence of some concerns? Just wanted to be prepared. And generally:- what are the limits on the number of Firebird connections/attachments? Should I be concerned about those limits if we will not have more than 100-150 Firebird connections?- what are pooling options for Firebird or Yii PHP application? Usually I think that pooling is very complex issue but maybe it is not? thx J.L.
