php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #53000 MSSQL slow on large resultsets via Apache module
Submitted: 2010-10-06 11:49 UTC Modified: 2010-10-29 13:36 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: steven at aubergine-it dot nl Assigned:
Status: Closed Package: MSSQL related
PHP Version: 5.3.3 OS: Linux
Private report: No CVE-ID: None
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
31 + 34 = ?
Subscribe to this entry?

 
 [2010-10-06 11:49 UTC] 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

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-10-29 13:33 UTC] steven at aubergine-it dot nl
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
 [2010-10-29 13:36 UTC] steven at aubergine-it dot nl
-Status: Open +Status: Closed
 [2010-10-29 13:36 UTC] steven at aubergine-it dot nl
See previous
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Nov 06 15:01:29 2024 UTC