From: Operating system: Linux PHP version: 5.3.3 Package: MSSQL related Bug Type: Bug Bug description:MSSQL slow on large resultsets via Apache module
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 bug report at http://bugs.php.net/bug.php?id=53000&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53000&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53000&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53000&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53000&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53000&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53000&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53000&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53000&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53000&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53000&r=support Expected behavior: http://bugs.php.net/fix.php?id=53000&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53000&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53000&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53000&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53000&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53000&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53000&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53000&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53000&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53000&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53000&r=mysqlcfg