Advantages / Disadvantages of pconnect option in CodeIgniter

codeigniter, database, performance, php

Solution

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.

Problem

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?

Original source