Advantages / Disadvantages of pconnect option in CodeIgniter

PhpDatabasePerformanceCodeigniter

Php Problem Overview


One of the parameters in the CodeIgniter database config is the following

['pconnect'] TRUE/FALSE - Whether to use a persistent connection

What do you recommend I set this to?
Is there a significant performance hit if I set it to FALSE?
What potential problems might arise from setting it to TRUE?

Php Solutions


Solution 1 - Php

Just look up general best practices for persistent connections. My suggestions.

  • By default, DO NOT
  • If you have:
  • Dedicated web server and database hardware in production
  • and have tuned the web server and database correctly
  • and have an accurate production-like test environment
  • And still think your performance problems are caused by database connection time,

CONSIDER turning it on

Persistent connections can cause

  • Bugs because some connection state persisted unintentionally (this is a biggie!)
  • Database connection limits to be exceeded
  • Database performance to drop because of lots of ram used by the many (mostly idle) connections
  • Bugs because connections have gone "stale" and the app didn't notice

But CAN

  • Reduce latency on initial connection

If you think that connection latency is causing a problem, consider turning it on in your performance test system and measuring the impact.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionClaytonView Question on Stackoverflow
Solution 1 - PhpMarkRView Answer on Stackoverflow