472,779 Members | 2,498 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,779 software developers and data experts.

Connection pool

Ike
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike
Jun 7 '06 #1
8 7800
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike


Yes

Thanks, C
Jun 7 '06 #2
Carved in mystic runes upon the very living rock, the last words of Colin
McKinnon of comp.lang.php make plain:
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike


Yes


Well, aren't you just the clever boy this evening? You must be so pleased
with yourself.

--
Alan Little
Phorm PHP Form Processor
http://www.phorm.com/
Jun 7 '06 #3
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike


Making a new connection at database server using much resources like
memory and cpu.

Connection pool is a cache of database connection. Instead of making
new connection, database server reused the old connection. This method
can increase performance and use few memory.

regards,

Lorento
--
http://blogs.deshot.com
http://www.mastervb.net
http://www.groupvita.com

Jun 8 '06 #4
lorento wrote:
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike
Making a new connection at database server using much resources like
memory and cpu.

Connection pool is a cache of database connection. Instead of making
new connection, database server reused the old connection. This method
can increase performance and use few memory.

regards,

Lorento


I think the OP knows what a connectionpool is and what it is for.
Ike wants to know how/if to implement one with PHP for eg mySQL.
:-)

And I do not know the answer.
I never ran into performancetrouble that could be solved by
connectionpooling under PHP.

Maybe PEAR has some support for this?

Regards,
Erwin Moller

--
http://blogs.deshot.com
http://www.mastervb.net
http://www.groupvita.com


Jun 8 '06 #5
lorento wrote:
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike

Making a new connection at database server using much resources like
memory and cpu.

Connection pool is a cache of database connection. Instead of making
new connection, database server reused the old connection. This method
can increase performance and use few memory.

regards,

Lorento
--
http://blogs.deshot.com
http://www.mastervb.net
http://www.groupvita.com


Making a new connection takes some cpu, that's true. But it's not a lot. Sure,
you don't have the connection overhead with a pool - but then you have the
overhead of finding a free connection in the pool.

And yes, making a new connection takes some memory. The difference is that when
you're through with the non-pooled connection the memory is released. With
pooled connections it isn't.

Pooled connections require you to keep open the maximum number of connections
you might ever need, and the system resources associated with. So if you have a
bump at lunchtime and need 50 connections, you have to have at least 50
connections around, even at 3AM when almost no one is on. With non-pooled
connections you only use the resources you need right now.

Pooling is fine if your site needs dozens of database connections per second.
Not too many websites come even close to that, though, and connection pooling
can actually hurt system performance.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jun 8 '06 #6
Jerry Stuckle wrote:
lorento wrote:
Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike

Making a new connection at database server using much resources like
memory and cpu.

Connection pool is a cache of database connection. Instead of making
new connection, database server reused the old connection. This method
can increase performance and use few memory.

regards,

Lorento
--
http://blogs.deshot.com
http://www.mastervb.net
http://www.groupvita.com


Making a new connection takes some cpu, that's true. But it's not a
lot. Sure, you don't have the connection overhead with a pool - but
then you have the overhead of finding a free connection in the pool.

And yes, making a new connection takes some memory. The difference is
that when you're through with the non-pooled connection the memory is
released. With pooled connections it isn't.

Pooled connections require you to keep open the maximum number of
connections you might ever need, and the system resources associated
with. So if you have a bump at lunchtime and need 50 connections, you
have to have at least 50 connections around, even at 3AM when almost no
one is on. With non-pooled connections you only use the resources you
need right now.

Pooling is fine if your site needs dozens of database connections per
second. Not too many websites come even close to that, though, and
connection pooling can actually hurt system performance.


In general, I agree with you Jerry, except when you say 'So if you have
a bump at lunchtime and need 50 connections, you have to have at least
50 connections around, even at 3AM when almost no one is on.'

Most of the connection pools I have dealt with have high and low water
levels (the high to prevent demand from consuming the system and the low
to specify the minimum number of active connections). The pool then
spawns new connections on an 'as needed' basis and releases them after
some timeout period. In this respect, they act like a heap manager with
garbage collection.

Searching for a free connection can be O(1) if the connections are kept
on their own free list.

Connection pools typically require some means of persisting the shared
pool across all the programs that want access to the database which
usually rules them out if php is driven via CGI.

-david-

Jun 8 '06 #7
I think it depends on the database library used. I read somewhere (but I
don't work with the combination PHP/SQL server myself) that the SQL
server library does not even have a means of more than one connection.

For MySQL, I guess you mean a "pconnect". Be aware that a MySQL session
is just like that: a session. You can connect to the server, even define
a few variables (which can come in very handy) and they exist in that
session only. If you were reusing that session, you could mess with
variables, settings or transactions set by another process.
Transactions can be a reason to open two connections from the same
script: you log errors in a table in one connection and still roll back
in another connection without loosing the error messages.

SQL server has another interpretation of "local": a local variable in
SQL server is only defined within one batch. So with SQL server,
connection pooling is less of a problem. On the contrary, SQL server is
a system where you pay for a number of concurrent connections. Just
opening another connection can be expensive in a financial sense. So it
is even designed for connection pooling.

Best regards

Ike wrote:
Is anyone aware of a means of connection pooling (to MySQL, say) in php?
Thanks, Ike

Jun 9 '06 #8
David Haynes wrote:
Jerry Stuckle wrote:
In general, I agree with you Jerry, except when you say 'So if you have
a bump at lunchtime and need 50 connections, you have to have at least
50 connections around, even at 3AM when almost no one is on.'

Most of the connection pools I have dealt with have high and low water
levels (the high to prevent demand from consuming the system and the low
to specify the minimum number of active connections). The pool then
spawns new connections on an 'as needed' basis and releases them after
some timeout period. In this respect, they act like a heap manager with
garbage collection.

Searching for a free connection can be O(1) if the connections are kept
on their own free list.

Connection pools typically require some means of persisting the shared
pool across all the programs that want access to the database which
usually rules them out if php is driven via CGI.

-david-


David,

That's true with some pools. But not with mysql. All you have available are
persistent connections. You'd have to create your own pooling mechanism.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jun 12 '06 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Mahesh D. Rane | last post by:
Hi, I am connecting to sql databse from windows C# form. when i close the form, then also the connection to databse is active. Its not allowing me to delete the database. But if i close the...
11
by: pradeep_TP | last post by:
Hi all, I have a few questions that I have been wanting to ask for long. These are all related to ADO.net and specifically to conenction to database. 1) If I have opened a connection to a...
7
by: greg | last post by:
Hi We have w2k, iis5, .NET/c# I periodically receive this message and the system freezes ++++++++++++++++++++++++++++++++++++++++++++++++++ Timeout expired. The timeout period elapsed...
3
by: Martin B | last post by:
Hallo! I'm working with C# .NET 2.0, implementing Client/Server Applications which are connecting via Network to SQL-Server or Oracle Databases. To stay independent from the underlaying Database...
3
by: LRK | last post by:
I am in the process of moving an ASP.NET app from my development machine to a web server. I am getting the following error message: Message: "Timeout expired. The timeout period elapsed prior to...
10
by: Steven Blair | last post by:
As I understand it, if I create a connection object in my application and close the connection, the next time I open a connection with the same connection string I should be using a pooled...
2
by: RyoSaeba | last post by:
Hello, I have a problem with the session state set to Sql Server (AspNet 1.1, Windows Server 2003 on an Application Center cluster, Sql Server 2000 on another server). Sometimes, when many user...
2
by: JoeSep | last post by:
Hi! Is it correct/safe to define a connection pool in the string "sqlConnectionString" of the "sessionState" section of Web.config? - The application is developed using AspNet 1.1 in a Windows...
16
by: crbd98 | last post by:
Hello All, Some time ago, I implemented a data access layer that included a simple connectin pool. At the time, I did it all by myself: I created N connections, each connection associated with...
20
by: fniles | last post by:
I am using VS2003 and connecting to MS Access database. When using a connection pooling (every time I open the OLEDBCONNECTION I use the exact matching connection string), 1. how can I know how...
0
by: Rina0 | last post by:
Cybersecurity engineering is a specialized field that focuses on the design, development, and implementation of systems, processes, and technologies that protect against cyber threats and...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.