Advantages / Disadvantages of pconnect option in CodeIgniter
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?
Solution 1:
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.