Skip to main content
Question

Vertica ADO.NET: Degraded performance with connection pooling enabled

  • January 9, 2022
  • 2 replies
  • 8 views

viveks

While using the Vertica ADO.NET client driver with connection pooling enabled (MinPoolSize of 20 & MaxPoolSize of 100) it was taking ~15 seconds to get results while running 30 queries in parallel. With connection pooling disabled, I was getting results in ~5 seconds for the same 30 queries when called parallelly.

On checking Vertica's query history I could see that the queries themselves are getting completed in <100 ms.

My expectation was that connection pooling should improve the overall performance since the connections don't need to be dropped & recreated. Any reasoning for this degraded performance we are facing when the pooling is on?

We are using Vertica.Data version 9.2.3

2 replies

viveks
  • Author
  • New Participant
  • January 21, 2022
@Hibiki We used a stopwatch in our codebase from where we invoke the query execution. Also enabled driver supported logging properties in the ADO.NET.

What I could make out was that when pooling is enabled, even with a larger min pool size, the library was creating connections very conservatively.

viveks
  • Author
  • New Participant
  • January 27, 2022

@Hibiki Thank you for clarifying this. So isn't it an issue then that there is no improvment when pooling is enabled or that is the expected behaviour?