Bug #53000 [Com]: MSSQL slow on large resultsets via Apache module
| From: | steven at aubergine-it dot nl | Date: | Fri, 29 Oct 2010 11:33:36 +0000 |
| Subject: | Bug #53000 [Com]: MSSQL slow on large resultsets via Apache module | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-155623@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=53000&edit=1
ID: 53000
Comment by: steven at aubergine-it dot nl
Reported by: steven at aubergine-it dot nl
Summary: MSSQL slow on large resultsets via Apache module
Status: Open
Type: Bug
Package: MSSQL related
Operating System: Linux
PHP Version: 5.3.3
Block user comment: N
New Comment:
Looks like the problem is solved. I think the reason is that debugging
was turned on and there were some problems with the RAID array.
This bug can be CLOSED
Previous Comments:
------------------------------------------------------------------------
[2010-10-06 11:49:40] steven at aubergine-it dot nl
Description:
------------
Hi there,
After a lot of research I found a serious performance problem. I think
the attached test script is self explaining.
So basically the performance is dramatically worse if I use PHP as
module in comparison with the PHP cli. CentOS does not have a different
php.ini for the Apache module and cli version.
I found a similar bug 28610, and I tried the proposed solution. But
output buffering is already turned on.
*setup*
I use PHP 5.3.3, installed at CentOS via http://iuscommunity.org/. They
use this configure line:
'./configure' '--build=x86_64-redhat-linux-gnu'
'--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu'
'--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
'--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
'--datadir=/usr/share' '--includedir=/usr/include'
'--libdir=/usr/lib64'
'--libexecdir=/usr/libexec' '--localstatedir=/var'
'--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--cache-file=../config.cache'
'--with-libdir=lib64' '--with-config-file-path=/etc'
'--with-config-file-scan-dir=/etc/php.d' '--disable-debug'
'--with-pic'
'--disable-rpath' '--without-pear' '--with-bz2'
'--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr'
'--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf'
'--with-t1lib=/usr' '--without-gdbm' '--with-gettext'
'--with-gmp'
'--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl'
'--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU'
'--enable-exif' '--enable-ftp' '--enable-magic-quotes'
'--enable-sockets' '--enable-sysvsem' '--enable-sysvshm'
'--enable-sysvmsg' '--with-kerberos' '--enable-ucd-snmp-hack'
'--enable-shmop' '--enable-calendar' '--without-mime-magic'
'--without-sqlite' '--with-libxml-dir=/usr' '--with-xml'
'--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql'
'--without-gd' '--disable-dom' '--disable-dba'
'--without-unixODBC'
'--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
'--without-sqlite3' '--disable-phar' '--disable-fileinfo'
'--disable-json' '--without-pspell' '--disable-wddx'
'--without-curl'
'--disable-posix' '--disable-sysvmsg' '--disable-sysvshm'
'--disable-sysvsem'
Test script:
---------------
<?
require_once('../inc/TPInit.inc.php');
$sql = "SELECT TOP 10 * FROM productVersions WHERE subCategoryID = 8;";
benchmark('sql', 'start');
$result = mssql_query($sql);
echo 'Small result set <br/>' . "\n";
echo 'Rows in returnset: ' . mssql_num_rows($result) . '<br/>' .
"\n";
echo 'Time: ' . benchmark('sql', 'show') . '<br/>' .
"\n";
$sql = "SELECT * FROM productVersions WHERE subCategoryID = 8;";
benchmark('sql', 'start');
$result = mssql_query($sql);
echo 'Large result set <br/>' . "\n";
echo 'Rows in returnset: ' . mssql_num_rows($result) . '<br/>' .
"\n";
echo 'Time: ' . benchmark('sql', 'show') . '<br/>' .
"\n";
Expected result:
----------------
Small result set
Rows in returnset: 10
Time: 0.0054750442504883
Large result set
Rows in returnset: 73782
Time: 34.852993011475
Actual result:
--------------
Small result set
Rows in returnset: 10
Time: 0.0027780532836914
Large result set
Rows in returnset: 73782
Time: 0.45695114135742
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53000&edit=1