ID: 14948 Comment by: [EMAIL PROTECTED] Old Reported By: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: MSSQL related Operating System: NT 4.0 SP5 PHP Version: 4.1.1 New Comment:
The problem is Apache 1.3.x Win32, that creates 25 or 50 threads right away from the start. It's wiser the 'thread-on-demand' approach of IIS and Apache 2, because you spend only what you need. You must think that Apache under most UNIX doesn't have threads, but processes, so a different connection pool is needed per process. Under Win32, Apache processes become threads, but PHP still has different data structures per thread. So considering it a bug is very subtle here, as it comes from a PHP architecture consideration. Maybe you want start a 'philosophical' discussion with the 'gurus'... of course, not me, not today! Previous Comments: ------------------------------------------------------------------------ [2002-01-14 04:41:01] [EMAIL PROTECTED] Hmm, it looks logically. Unfortunaltelly, I still thing it's bug. To reach state of persistent connection you need f.e.25 requests, if the mechanism is as you tell. But if you will measure time of openning connection, you will get f.e. 200ms first time and 5ms next time. So, the performance grows up as expected, but off to the resources. But your SQL server need more resources for more connections and here you can get large lack of performance (as in my case). And, documentation tells persistent connection is connection with the same server,uid and pwd. ------------------------------------------------------------------------ [2002-01-14 03:51:11] [EMAIL PROTECTED] I think this is not a bug, but Apache 1.3.x Win32 default behavior: if you configured Apache to have 25 threads, for example, there will be 25 opened connections, because Apache seems to rotate requests among threads. So the persistent connection pool is PER THREAD, not per process. IIS (and Apache 2 I think) uses a different way: it creates threads as they are needed. Pity this creates some thread-safe issues thanks to the clunky MSSQL DB-library... And beware!, by default MSSQL DB-library only accepts 25 connections per process. ------------------------------------------------------------------------ [2002-01-10 02:22:56] [EMAIL PROTECTED] Apache 1.3.22 Win NT SP5 PHP 4.1.1, run as DLL Apache module MSDE SQL server mod_mssql module loaded The web server with PHP module and SQL server are running on the same machine. Problem: When opening connection to MSSQL database with mssql_pconnect, the connections are not persistently used. Instead, new connection is opened everytime. MSSQL sp_who2 clearlz determines this (everytime REFRESH inbrowser is called new connection pops up). Ondra. ------------------------------------------------------------------------ [2002-01-09 09:44:21] [EMAIL PROTECTED] Apache 1.3.22 Win NT SP5 PHP 4.1.1, run as DLL Apache module MSDE SQL server mod_mssql module loaded Problem: When opening connection to MSSQL database with mssql_pconnect, the connections are not persistently used. Instead, new connection is opened everytime. See MSSQL sp_who2 results: SPID Status DBName Command CPUTime DiskIO LastBatch ProgramName SPID ----- ---------- ------ ---------------- ------- ------ -------------- -------------- ----- 1 sleeping master SIGNAL HANDLER 0 0 01/09 15:07:02 1 2 BACKGROUND UKOLY LOCK MONITOR 0 0 01/09 15:07:02 2 3 BACKGROUND UKOLY LAZY WRITER 0 0 01/09 15:07:02 3 4 sleeping UKOLY LOG WRITER 0 0 01/09 15:07:02 4 5 sleeping UKOLY CHECKPOINT SLEEP 0 0 01/09 15:07:02 5 6 BACKGROUND UKOLY AWAITING COMMAND 0 5 01/09 15:07:02 6 7 RUNNABLE UKOLY SELECT INTO 0 169 01/09 15:41:39 MS SQL Query 7 8 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:34 PHP 4.0 8 9 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:31 PHP 4.0 9 10 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:37 PHP 4.0 10 11 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:39 PHP 4.0 11 12 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:40 PHP 4.0 12 13 sleeping UKOLY AWAITING COMMAND 0 0 01/09 15:41:41 PHP 4.0 13 ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14948&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]