NpgSQL 2.0.8 v.s. dotConnect for Postgres 4.90 Performance

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for PostgreSQL
Post Reply
cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

NpgSQL 2.0.8 v.s. dotConnect for Postgres 4.90 Performance

Post by cjbiggs » Mon 05 Apr 2010 23:51

Devart advertise that it perform better than Npgsql. I did a Proof of Concept to measure the performance. Npgsql peformance 4x faster compared to dotConnect 4.90 performance for Entity Framework support. I created an inventory application that query an external MS Access Database and import it into Postgres. Nqgsql complete the it in 17 seconds, while dotConnect for Postgres completes the same code in 1 minute and 7 seconds. I used the Entity Framework Profiler to for the performance test. The Profiler reported many query plan alerts where the Npgsql did not have any query plan alerts. Attached are the profiler files for each run.


Thanks,

Charlie J.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 06 Apr 2010 13:46

Could you please send us your test project via our contact form with the "PostgreSQL EF performance" subject? We will investigate it and notify you about the results.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Tue 06 Apr 2010 14:45

Sorry. I cannot send you the test project because it is an internal proof of concept. But I can send you the Entity Framework Profiler log. You can get the program to open the log from http://efprof.com/

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Thu 08 Apr 2010 12:25

Please send the logs to support * devart * com, subject "EF Performance".

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Thu 08 Apr 2010 16:01

I already did a couple of days ago. Based on the instruction from the previous post instructions.


Joined: 14 Aug 2008
Posts: 1636

Posted: Tue 06 Apr 2010 13:46 Post subject:

--------------------------------------------------------------------------------

Could you please send us your test project via our contact form with the "PostgreSQL EF performance" subject? We will investigate it and notify you about the results.

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Fri 09 Apr 2010 13:54

Thank you for the mail; we had some problems with the attachment.
We are investigating the performance logs.
I will let you know about the results of our investigation.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Fri 09 Apr 2010 15:29

Ok. Thanks. Please let my know if you need anything else. I do plan to re-run the same set of tests when .NET 4.0/EF 4 is officially release next week.

Thanks,

Charlie J.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Mon 19 Apr 2010 15:11

Any updates on the performance issues with EF4 and dotConnect for Postgres?

Thanks,

Charlie J.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Thu 22 Apr 2010 15:01

Any updates on the performance issues with EF4 and dotConnect for Postgres? I am a licensed user and need to know the status of this for the release of my product. If it is a quick fix, I will stick with devart, if it is a long fix I need to deploy with Npgsql.

Thanks,

Charlie J.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Sun 25 Apr 2010 22:11

Any updates on the performance issues with EF4 and dotConnect for Postgres? I am a licensed user and need to know the status of this for the release of my product. If it is a quick fix, I will stick with devart, if it is a long fix I need to deploy with Npgsql.

Thanks,

Charlie J.

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Tue 27 Apr 2010 11:59

Thank you for the inquiry, we have found the performance problems.
Our investigation is in progress, I will let you know about the results as soon as possible.

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Tue 27 Apr 2010 12:40

The main reason of the performance problems is the parameters binding and other peculiarities of the 3.0 protocol.
Try adding "Protocol=2;" to the connection string, this should increase the performance greatly.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Tue 27 Apr 2010 19:15

Changing the Protocol parameter in the ConnectionString from 3 to 2 improved the performance. From this forum post I though Devart had fixed the issues with Protocol=3
http://www.devart.com/forums/viewtopic. ... e21c1456a8

It talks about using an UnpreparedExecute parameter in the ConnectionString. I am using Postgres 8.4.x and would like to continue to use Protocol 3 with Devart.

So Npgsql using Protocol=3 does my import in 19 secs (17 secs using Protocol=2) and Devart using Protocol=3 does it in 75 secs and Devart using Protocol=2 does it in 19 secs.

Can I get good performance using Protocol=3 with dotConnect for Postgres without switching to Protocol=2? I just want it to be the same as what I am getting using Npgsql. I am trying to switch my applications from using Npgsql to using devart for dotConnect since EF 4 features are not implemented in the current Npgsql 2.0.9.

cjbiggs
Posts: 105
Joined: Fri 15 Jan 2010 19:56

Post by cjbiggs » Tue 27 Apr 2010 20:54

I also found this article as well on the forum
http://www.devart.com/forums/viewtopic. ... redexecute

Post Reply