HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Vanilla Performance Discussion

24

Comments

  • @jackjitsu said:
    OK.... so I did the equivalent of Varnish but with NGINX. No need for more software ;-)

    Implemented a microcache using NGINX (Varnish replacement), proxying to the real NGINX instance on the back end port 8080. Used a tiny 2 second cache.

    Went from 22 requests per second to 20,000. :) Feeling better about this now.

    NGINX users really should not use Varnish. Using NGINX<--->NGINX natively is a lot easier/faster.

    @jackjitsu

    You sound like you know a heck of a lot about tuning. It would be cool it you wrote up a brief synopsis of what you did with some config, etc. examples, if you have the time. I think it would be enlightening to all of us.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • I'll write something up after im done building, testing, and releasing the new forum.
    Caching with session cookies can be tricky, I want to shake out any weird proxy/cache bugs with real users on a live site before I post anything. The NGINX configuration is fairly simple, and ill post the setup after im confident it works. Im not an expert at configuring NGINX, and could easily make a mistake, but I am a scalability architect with 25 years IT experience ;-)

  • @jackjitsu

    anything you write up, will be great as a guide, i'm sure. looking forward to it.

    Im not an expert at configuring NGINX, and could easily make a mistake

    perfection although desired is not necessary, you probably know more than alot of us. :).

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Well, as I suspected, there IS a better way.

    I ditched the NGINX PROXY to NGINX, and got the same results using a single instance of NGINX. Where is the mosh emote when you need one???

    The setup just became trivial, fast, with low complexity. Yes!

  • R_JR_J Ex-Fanboy Munich Admin

  • Would you mind sharing your nginx config with us @jackjitsu ?

  • I will. Let me finish my testing. Im real excited about the re-launch of my site using Vanilla right now.

  • meshugymeshugy Musician/Hacker ✭✭

    I was experiencing load times on 2.1b2 significantly slower than my old php forum. I enabled Xcache on my apache server and it sped things up dramatically!

  • hbfhbf wiki guy? MVP

    @Todd said:
    We've done a lot of scaling optimizations which took load off of io, but has raised the load on cpu. This is due to having more calculation in the app rather than the database.

    We will be improving the cpu performance in coming versions. We do have some inefficiencies due to some options in the code that don't get much use and we will be removing support for some of these edge cases. I'll be talking about this after 2.1 gets its final release.

    One of our cpu bottlenecks though is rendering and that has to do with our theming flexibility. This is just going to be a fact of a Vanilla forum and I think it's a fair trade-off. We have a lot more power than phpbb or mybb and we're designed to work on more modern hardware.

    We build our software for scale. This means that our software won't perform as well on lesser hardware or on small communities. However, when the community is large we have the ability to parallelize a lot of the code and as a result we can run massive communities.

    not to sound recalcitrant but shifting load from backend to front end or vice versa only buys you a performance when you have an application that is woefully unbalanced to begin with.

    true optimization for performance comes only when you redefine the architecture such that the mundane or repetitive calculations and tasks are no longer necessary.

    as for generalized event management and other flexibility focused capabilities, i'd like to profile vanilla in my production environment to really see where the cycles are being consumed. My site was performing god awful a few months ago, I traced it down to some really poorly defined SQL statements. But at its best, Vanilla seems to be a bit sluggish.

    to be fair none of this is easy, i've designed more than my fair share of "enterprise class" solutions with poor performance due to architectural choices.

  • hbfhbf wiki guy? MVP

    @meshugy said:
    I was experiencing load times on 2.1b2 significantly slower than my old php forum. I enabled Xcache on my apache server and it sped things up dramatically!

    on this note, and building on my previous post. my 2.1b2 site was running about 5-10x slower than my 2.0.18.x site (loads that normally take 2sec were taking 10-20sec). This would be with the same content but actually fewer plugins, due to the problems with so many plugins an the new version.

  • @hbf said:
    on this note, and building on my previous post. my 2.1b2 site was running about 5-10x slower than my 2.0.18.x site (loads that normally take 2sec were taking 10-20sec). This would be with the same content but actually fewer plugins, due to the problems with so many plugins an the new version.

    what theme? what cdn? and any social networking plugins activated?

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • LincLinc Detroit Admin

    Yeah, we're going to need a breakdown of what resources actually took that long. It seems pretty looney to me that 2.1 is running significantly slower so I'm guessing something is wrong here. You might wanna create a discussion for troubleshooting it.

  • hbfhbf wiki guy? MVP
    edited December 2013

    @Lincoln said:
    Yeah, we're going to need a breakdown of what resources actually took that long. It seems pretty looney to me that 2.1 is running significantly slower so I'm guessing something is wrong here. You might wanna create a discussion for troubleshooting it.

    how do i activate the profiling tools referred to in the index.php?

    I'd like to do a little investigation before I start asking for help. I'm sure it had to do with errors i was seeing in various plugins.

    As for the theme/cdn/social questions...
    theme was a very lightly modified version of the default. you can see it here http://bak.homebrewforums.net

    i dont use a cdn.

    no social plugins enabled.

  • businessdadbusinessdad Stealth contributor MVP

    @hbf said:
    how do i activate the profiling tools referred to in the index.php?

    Based on what I read in the index.php, you should install PECL xhprof on your server, then open your site as follows: yoursite.com?xhprof=yes&memory=yes&cpu=yes. I haven't tried it myself, but I reckon it should work that way.

  • LincLinc Detroit Admin

    I'm initially interested in simple browser console timings for the resources. I'm wondering if it's actually the script running that's causing that delay or if maybe there are large assets being called that slow the whole thing.

  • jackjitsujackjitsu ✭✭
    edited December 2013

    ...........

  • @hbf said:
    on this note, and building on my previous post. my 2.1b2 site was running about 5-10x slower than my 2.0.18.x site (loads that normally take 2sec were taking 10-20sec).

    ^^^^ deal breaker right there. Vanilla is already far slower than phpbb without some advanced cahing

  • meshugymeshugy Musician/Hacker ✭✭
    edited December 2013

    @jackjitsu said: deal breaker right there. Vanilla is already far slower than phpbb without some advanced cahing

    My old phpBB forum is definitely faster: http://www.djangobooks.com/php-forum

    However, with caching my Vanilla forum is pretty close: http://www.djangobooks.com/forum

  • @jackjitsu said:
    deal breaker right there

    That's the problem. You can't say: "Vanilla is slow, I'm moving on". What you need to do is install those tools and see where it is slow. When the slowness cannot be solved easily, you can still move on, but find out why it is slow first.

    There was an error rendering this rich post.

  • businessdadbusinessdad Stealth contributor MVP

    @UnderDog said:
    That's the problem. You can't say: "Vanilla is slow, I'm moving on". What you need to do is install those tools and see where it is slow. When the slowness cannot be solved easily, you can still move on, but find out why it is slow first.

    I agree. We are having performance issues with Vanilla 2.0.18.x and we are now going through the steps to troubleshoot it. We have been able to exclude the server and the database (it's practically empty), now we are focusing on the code.

    The curious thing is that, when I tried a siege test (50 simultaneous users), the reponse times were progressively longer with each request (2 seconds, 2.5, 2.8, 3.4, 4, 4.5, 5.2, up to 9 seconds, then I stopped the test), while other applications (e.g. WordPress) were more consistent, with response times between 2 and 4 seconds, at any given point. It would be interesting to see if there is any race condition that causes one process to slow down the next ones.

Sign In or Register to comment.