Hello. We are using Firebird Embedded as a read only datasource for a web application and at some point we encountered a problem with application perfomance. After some tests i noticed that firebird provider starting to work very slowly if used in multithreaded environment. Basically if requests are made from 3+ threads in parallel, request execution time grows continiously and never comes back. If thread count is 1 or 2 - no slowdowns are noticeable. I tested provider agains default Firebird server and also didn't noticed any problems even at 50+ threads, so that is probably some weird issue with firebird embedded.
I provided a test example which clearly illustrates the issue, setting threads count to higher value leads to rapid degradation in perfomance.
Hello. We are using Firebird Embedded as a read only datasource for a web application and at some point we encountered a problem with application perfomance. After some tests i noticed that firebird provider starting to work very slowly if used in multithreaded environment. Basically if requests are made from 3+ threads in parallel, request execution time grows continiously and never comes back. If thread count is 1 or 2 - no slowdowns are noticeable. I tested provider agains default Firebird server and also didn't noticed any problems even at 50+ threads, so that is probably some weird issue with firebird embedded.
I provided a test example which clearly illustrates the issue, setting threads count to higher value leads to rapid degradation in perfomance.
FIrebirdEmbeddedPerfomanceTest.zip
Tested on Windows10 22H2, firebird 3 and 5 with similar results.