Installation, Configuration, & Upgrades  :: 
0.750-RC2 much slower than 0.726
 Top

Goto page: 1 - 2 [+1]

  • I won't repost the whole thing here, please follow this link instead. Sorry, I should have posted it here not where I did.

    Does anyone have any comments? Am I doing something really silly?
    It would appear to me that there's a problem with the new DB stuff.
    I've tried with persistant DB connections on and off, and I don't have any of the 3 debugging options in config.php turned on.

    Thoughts? Might it be my PHP version (4.1.2) is too old? That's the version that comes with Debian stable (the system I'm using)

    Hope someone can shed some light.

    Tim
  • Tim,

    The only thing I can suggest is to do a full set of diagnostics and a methodical set of tests to narrow the problem. The PHP version is quite old but shouldn't be the cause of the problem. What table type are using in mysql? (myisam is quicker that innodb but more likely to corrupt). Fully optimise all tables in the database.

    The actual code changes in the DB are more logical coding standards changes than any real change to the way the actual SQL statements are executed. .750 is actually a lot faster and uses a lot less resources due to the coding standards used.

    -Mark
  • Ok, I'll have a go and do some tests to see what I can narrow down. Any pointers where to start looking?

    The PHP version is old, yea. It's the one that comes with Debian stable and it's really hard to upgrade it without breaking a whole bunch of dependancies.

    I'm using myisam as the table type. All tables were optimised before the testing was done, I forgot to point that out.

    What I'll do is try turning off all blocks and see what speed I get, then I'll start to turn them on again one by one.

    Are you sure the new method PostNuke is using (as I understand it, referencing pointers instead of copying memory about) isn't flaky in my version of PHP?

    Tim

    --
    Beer is Tasty!
  • Tim,

    I've done a few tests with the PHP version your using (all be it on a windows platform) and didn't encounter such problems. I've never used debian so can't comment on that particular OS. It's definately worth going through block by block as this can be done quickly. If you can also setup a test site on the same box to see if a base install behaves in the same way.

    -Mark
  • Yea, I've nuked all blocks and it hasn't really made a difference.
    I thought it might be the inclusion of the Smarty stuff, but i commented that out and it didn't help either.

    I'll do a clean install if I can't find anything else shortly.

    --
    Beer is Tasty!
  • Tim,

    A quick question. What debian release are you using? I'm not really a unix person (netware's my server OS of choice) but i'mg going to see if I can get a debian server up and running using my vmware test environment.

    -Mark
  • I'm using Debian Stable, 3.0

    The only thing of note that I'm using that's different is a custom Linux kernel using grsecurity. I'm also using mod_security as well.

    Neither of these should affect anything though, all I am doing is renaming my old install to the name the webserver is looking for, clearing the MMCache, renaming the new install to the name the webserver is looking for and retesting.
    I'm not adding/changing anything else, that's what's got me so confused. I think there must be something in the code that's blocking, or running slower due to the coding changes in the new version of PN. I know there were problems with older version of PHP, so if anything I am pointing the blame at my version of PHP first of all. It's odd though that it would make such a huge difference.

    I guess it's possible the new code is so much faster it's hammering the DB faster and it can't keep up and is blocking/slowing as a result? I'll bet that's what it is ;)

    Anyway, don't fire up Debian just yet. I'll hack on this hardout for a couple of days yet and if I get really stuck I'll give you access to the box/DB so you can have a look yourself if you'd like.

    Cheers,
    Tim

    --
    Beer is Tasty!
  • Tim,

    I've been meaning to have a couple more test setups anyway and fancy having a play with debian. The great thing about vmware is abilty to be able to rollback to a known good install in a couple of minutes and also to be able to port the virtual machines around.

    Another useful check would be to turn on PHP's error reporting and raise error reporting to it's highest level and see if there are any errors being generated in the error log.

    -Mark
  • Yea, VMWare is damn cool, very handy for these sorts of things.

    Good idea with the error checking too, I hadn't thought to turn that on.
    What I'll do also is slowly remove things one by one, first the MMCache, the mod_gzip, mod_security and then if I have to my custom grsecurity kernel. I am determined to get to the bottom of this!
    I also have another box with the lastest v4 of PHP on it, so if needs be I'll move code over to that to test.

    Thanks for all your good advice so far :)

    --
    Beer is Tasty!
  • More test results.

    I downloaded a fresh 0.726-3 and installed it. I went through and made sure all modules were activated fully and I changed the theme to ExtraLite.
    I installed this in http://muppetz.com/PN726/

    I then made a copy of the 0.726 install, downloaded the 0.750-RC2 and unzipped it over the to of the copied 0.726 install. I set the config file to be access the same database as the 0.726 install then went through and made sure all it's modules were initalised and activated. It lives in
    http://muppetz.com/PN750/

    I'm afriad to say it but the 750 is still almost twice as slow.

    0.726 Results:

    Code

    Concurrency Level:      5
    time taken for tests:   9.130 seconds
    Complete requests:      50
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      187300 bytes
    HTML transferred:       164200 bytes
    Requests per second:    5.48 [#/sec] (mean)
    time per request:       913.00 [ms] (mean)
    time per request:       182.60 [ms] (mean, across all concurrent requests)
    Transfer rate:          20.51 [Kbytes/sec] received


    0.750-RC2 Results:

    Code

    Concurrency Level:      5
    time taken for tests:   14.048 seconds
    Complete requests:      50
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      190150 bytes
    HTML transferred:       167050 bytes
    Requests per second:    3.56 [#/sec] (mean)
    time per request:       1404.80 [ms] (mean)
    time per request:       280.96 [ms] (mean, across all concurrent requests)
    Transfer rate:          13.54 [Kbytes/sec] received


    Next up I'm going to do the test on a host with a much later version of PHP, I think that has to be the problem.

    Edited to cut out unneeded stats.

    --
    Beer is Tasty!
  • Alright, I've also done the following:

    Removed grsecurity and used a vanilla 2.4.26 kernel
    Removed mod_gzip from my apache configuration
    Removed mod_security from my apache configuration

    I still have the same results:
    0.750 Requests per second: 3.43 [#/sec] (mean)
    0.726 Requests per second: 5.11 [#/sec] (mean)

    Tim

    --
    Beer is Tasty!
  • Ok, I've just done the exact same tests as above, but this time on a machine with the following:

    MySql 3.23.58
    PHP 4.3.6

    I still see the same basic results:

    0.726

    Code

    Concurrency Level:      5
    time taken for tests:   91.544 seconds
    Complete requests:      200
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      741200 bytes
    HTML transferred:       657200 bytes
    Requests per second:    2.18 [#/sec] (mean)
    time per request:       2288.60 [ms] (mean)
    time per request:       457.72 [ms] (mean, across all concurrent requests)
    Transfer rate:          8.10 [Kbytes/sec] received


    0.750

    Code

    Concurrency Level:      5
    time taken for tests:   123.286 seconds
    Complete requests:      200
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      752400 bytes
    HTML transferred:       668400 bytes
    Requests per second:    1.62 [#/sec] (mean)
    time per request:       3082.15 [ms] (mean)
    time per request:       616.43 [ms] (mean, across all concurrent requests)
    Transfer rate:          6.10 [Kbytes/sec] received


    Note:The numbers are lower in this post than in others because it was done a machine with a slower CPU

    So I'm at a loss, I've done everything I can do. With the latest PHP4, Latest MySql4 and a default install I am still seeing the 0.726 code is almost twice as fast as 0.750

    Can someone else do some tests and post their results please?
  • Well, in real world experiance, I don't SEE any slow down, they both seem to load equally well.
  • Tim,

    Just to keep you upto date.

    Having managed to come with the the same results on one of my test boxes (but none of the others) i'm going through a full profiling exercise on the code at the moment. This logs every function execution, how many times it's executed and how long it takes. To give you an idea of figures i've imported the resultant log in to a database and have 2500 records to work through.

    With this information I can work through the exact functions that take the most time, or are executed multiple times and see if they can be optimised or a least attempt to narrow the problem down a to specifc area that we can focus on.

    -Mark
  • @mhalbrook: Yes, I don't notice any impact on my sites at all, they're all useable just fine still. The only reason I noticed this was I'd read about the new optimisations and I thought I'd do some testing to see how much more load the sites could take. I was a bit shocked at my results and thought I should share them, I'm not actually complaining as such :)

    @markwest: What sort of results do you see on your other sites? Are they using Xanthia with caching turned on? I suspect if I was to run some sites with that activated I'd see a nice performance improvement.

    If there's anything else I can do to help you out please let me know.

    Regards,
    Tim

    --
    Beer is Tasty!

Goto page: 1 - 2 [+1]

This list is based on the users active over the last 60 minutes.