[Mono-list] Squeezing better performance out of ODBC/Informix

Glen Ford glen.a.ford at gmail.com
Sun May 6 15:40:58 EDT 2007


Hi,


Just thought I would share something I discovered this week.  We were
suffering real performance issues with Mono and Informix, we were
seeing what appeared to be threads blocking in SQL operations.  Even
configuring unixODBC for threads did not give anywhere near the same
performance as comparable tests using seperate isql processes.

I found that it was possible to point /etc/mono/config to use an
Informix Odbc library directly however this meant some calls failed
(SQLError) with Entry Point Not Found exceptions.  I found that
Informix had split functions across two libraries.

So I created a 'wrapper library'

ld -shared -o informix_wrapper.so
/opt/IBM/informix/lib/cli/iclit09b.so
/opt/IBM/informix/lib/cli/idmrs09a.so

And updated /etc/mono/config

<!-- <dllmap dll="i:odbc32.dll" target="libodbc.so" os="!windows"/> -->
<dllmap dll="i:odbc32.dll" target="informix_wrapper.so" os="!windows"/>

This has resulted in much better performance and I no longer see
threads blocking each other in SQL functions.

I know a couple of other people on this list are using Informix and
Mono, hopefully you may find this useful.


Regards,


Glen


More information about the Mono-list mailing list