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

Reply via email to