Forum Replies Created

Viewing 1 replies (of 1 total)
  • Thread Starter ryangwu82

    (@ryangwu82)

    If it’s not obvious, I’m a web developer in the daytime too, though not a PHP developer. Every web application I’ve worked on has used database connection pooling with persistent connections. I’ve never seen an application which *didn’t* use it, which is why I was asking.

    I did take a look at the PHP documentation on persistent connections, earlier this evening. As far as I can tell, there are a couple drawbacks but they shouldn’t apply to WordPress.

    Anyway, my tests were run using ApacheBench (ab) from a separate machine. All I was doing was querying a page that would display an individual post. I was using a custom theme and there were 13 queries running per page request. I started with 5 concurrent requests and went up from there in multiples of 5. Once I got above 50, I used multiples of 10.

    I know this isn’t the most accurate load test ever written, but I was just playing around for fun when I noticed this issue. It seems like if I’m running into a database connection issue on this page, it wouldn’t be any *better* on a more comprehensive test. I figured I’d throw the idea out to the community to get some advice.

    Here are the rest of the specs on the test server: Dell PowerEdge with single Pentium 4 processor (HyperThreading enabled), 1GB RAM, CentOS 4.1, Linux 2.6.9 kernel with SMP.

    Apache 2.0.52 is configured like this:
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    MaxClients 150
    MaxRequestsPerChild 100

    PHP 4.3.9 is configured to use the eAccelerator bytecode cache, version 0.9.3. It has an 8MB memory limit per script. The MySQL module is configured with no limit on database connections (links) or persistent connections.

    MySQL 4.1.10a has, wow, a gazillion settings I could send. It’s set up for 100 max connections and 0 max user connections. Anything else in particular which you might be interested in?

    During the testing, I was restarting Apache and MySQL between each test. In order to “prime” the server I would run about 200 hits through ApacheBench before running a particular test case. There were always only 5 concurrent connections during that phase, so I don’t know if that was really an accurate way to do it.

Viewing 1 replies (of 1 total)