Okay, I have a couple ideas now where the problem lies. I want to give you a heads up that we'll be releasing beta 1 soon, and it won't include a fix for this. This is going to be a much larger problem to tackle and I don't want to hold up this release (since it has many very important fixes in it). I hope to get to this one for beta 2.
Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.review-board.org VMware, Inc. - http://www.vmware.com On Fri, Mar 27, 2009 at 10:27 AM, ciaomary <ciaom...@gmail.com> wrote: > > We typically only see perf problems on reviews with large diffs and > large number of reviews. One that has given us a lot of trouble has a > downloadable diff of 1.6MB, 138 different files (with an average file > size of ~30K), and hundreds+ review comments. (Bringing up diffs for > deleted files give the biggest load and slow down.) > > Under Admin Settings I've changed the "Paginate by" value from 20 down > to just 3 which has helped a lot. It is set to the default 5 "Lines of > Context". Also increasing the RAM on our server from 4G to 16G has > helped - RB takes a lot of server memory under this kind of load! > After all this we're still seeing these big reviews taking 45-60 > seconds to load, pegging local cpu during that time. > > I suspect you could reproduce this by setting the "Paginate by" value > to something very high. (Try 55 for your 55 page diff.) I believe the > problem is only on reviews with lots of comments as well. Our use case > has been that if there is a really large diff, there are always a lot > of review comments as well. > > Thanks! > > On Mar 27, 1:38 am, Christian Hammond <chip...@chipx86.com> wrote: > > So I just looked at a diff on our server that spans 55 pages, and as far > as > > loading diffs goes, it's not at all slow. How many pages did you say > yours > > were on average? > > > > When looking at diffs, do you have it set to expand the entire file, or > show > > the collapsed version? > > > > Are you seeing slowdown on large diffs that don't have any reviews, or is > it > > just when there's a lot of reviews for that revision of the diff? > > > > Christian > > > > -- > > Christian Hammond - chip...@chipx86.com > > Review Board -http://www.review-board.org > > VMware, Inc. -http://www.vmware.com > > > > On Mon, Mar 23, 2009 at 5:02 PM, Christian Hammond <chip...@chipx86.com > >wrote: > > > > > > > > > I'm still looking into it. So far I have not seen the slowdown you have > > > described, but will continue to try to figure out what's going on. I > know > > > this is inconvenient. We just haven't seen usage like this yet. > > > > > Christian > > > > > -- > > > Christian Hammond - chip...@chipx86.com > > > Review Board -http://www.review-board.org > > > VMware, Inc. -http://www.vmware.com > > > > > On Mon, Mar 23, 2009 at 1:19 PM, ciaomary <ciaom...@gmail.com> wrote: > > > > >> Any follow up on this? Any configuration guidance? > > > > >> We've moved to a 16 G + 4 cpu system and still have unacceptable > > >> response times (~30 seconds) for really large diffs with hundreds of > > >> review comments. > > > > >> If you can't reproduce this, I recommend you set the number of diff > > >> files per page from 20 to something really high (like 100) and then > > >> post a review with the same number of files deleted. For us, this puts > > >> a huge load on the local browser and the server VM during load. > > > > >> On Mar 19, 12:41 pm, ciaomary <ciaom...@gmail.com> wrote: > > >> > Thanks again. I'm really not that familiar with Apache 2 w/ regards > to > > >> > performance issues. At this time, I just have a more or less out-of- > > >> > the-box Apache2 setup on CentOS 5. Any recommendations here would be > > >> > hugely appreciated. Further answers inline below... > > > > >> > On Mar 19, 12:09 pm, Christian Hammond <chip...@chipx86.com> wrote: > > > > >> > > We should figure out first why your backend server is being hit so > > >> hard. We > > >> > > have over a thousand people at VMware submitting good sized diffs > and > > >> aren't > > >> > > hitting any of these issues. So a few more questions. Apologies if > > >> you've > > >> > > answered these before in other threads. > > > > >> > > 1) What MPM is your Apache using? > > > > >> > I'm using the default for httpd 2.2.3 CentOS. I believe this is > > >> > 'prefork'. > > > > >> > > 2) And is this fastcgi or mod_python? > > > > >> > mod_python (mod_python-3.2.8-3.1) > > > > >> > > 3) Are you absolutely sure Review Board is using your memcached > > >> server? Go > > >> > > in the admin dashboard and click Server Cache, then copy and paste > the > > >> info > > >> > > and paste it here. > > > > >> > Server Cache > > >> > Cache backend: django.core.cache.backends.memcached > > >> > Statistics > > >> > 127.0.0.1:11211 Memory usage: 45.7 MB > > >> > Keys in cache: 1767 of 1777 > > >> > Cache hits: 3996 of 7464: 53% > > >> > Cache misses: 3468 of 7464: 46% > > >> > Cache evictions: 0 > > >> > Cache traffic: 46.1 MB in, 103.8 MB out > > >> > Uptime: 53009 > > > > >> > > We might be able to do something smarter with deleted diffs, but > that > > >> would > > >> > > require a good bit of work, and we'd have to think carefully about > it. > > > > >> > > We talked about splitting up the reviews page, but decided it > wouldn't > > >> make > > >> > > much sense due to how it's ordered. We came up with a method for > > >> collapsing, > > >> > > but I'm probably holding off until after 1.0 to finish this, > because > > >> it > > >> > > needs a lot more thought and testing. > > > > >> > > Christian > > > > >> > > -- > > >> > > Christian Hammond - chip...@chipx86.com > > >> > > Review Board -http://www.review-board.org > > >> > > VMware, Inc. -http://www.vmware.com > > > > >> > > On Thu, Mar 19, 2009 at 11:39 AM, ciaomary <ciaom...@gmail.com> > > >> wrote: > > > > >> > > > Thanks for your response. Please see comments inline below... > > > > >> > > > On Mar 18, 11:35 am, Christian Hammond <chip...@chipx86.com> > wrote: > > >> > > > > Not immediately, no. > > > > >> > > > > I can't even determine right now whether we can do anything > about > > >> this. > > >> > > > > You're seeing crazy CPU loads that we're definitely not > seeing, > > >> and most > > >> > > > of > > >> > > > > this has to do with the browser itself. We're loading the > files > > >> > > > > asynchronously, but it appears that for whatever reason your > > >> browser is > > >> > > > > blocking until it's all loaded (if I'm understanding right). > > > > >> > > > Just for clarity, the page can sometimes load partially, but > since > > >> the > > >> > > > CPU is at 99% it's of little value. I don't get the CPU back > until > > >> the > > >> > > > page is fully loaded. > > > > >> > > > We now understand that our backend server is also getting maxed > out > > >> to > > >> > > > the point of failure. One request of this page demands 800 M of > > >> > > > virtual memory from Apache! Once the request is fully loaded, > 400 M > > >> of > > >> > > > that memory is freed again - but since we have 200 reviewboard > users > > >> > > > this isn't very scalable. > > > > >> > > > > I'm wondering > > >> > > > > if there's something with the configuration in your browsers > where > > >> you > > >> > > > work > > >> > > > > that is causing some of this. > > > > >> > > > I really don't think this is a browser configuration issue > because > > >> > > > users across many different OS and browsers are seeing this. I > see > > >> it > > >> > > > on default FireFox 3.0.7 and IE 7.0. Users have reported that > Safari > > >> > > > works the best, but I have not confirmed. FireFox 2 and IE 6 > users > > >> > > > have reported the same problem. > > > > >> > > > > You say this is happening on several different browsers? In > the > > >> case of > > >> > > > > Firefox, what extensions are loaded? > > > > >> > > > Just the default FireFox 3.0.7 install. > > > > >> > > > > We definitely would like to fix this. But we just don't know > > >> enough about > > >> > > > > what the problem is right now to determine if it's in our > control. > > > > >> > > > Apache must load up a huge amount of data in VM for these large > > >> diffs > > >> > > > (I believe this is especially true when diffs contain deleted > > >> files). > > >> > > > This isn't scalable across many users. Can the amount of data/ > > >> > > > filediffs/etc needed to load the page be scaled back further? > > >> Changing > > >> > > > the 'Paginate by' value from 20 to 3 has helped, but not enough > and > > >> it > > >> > > > hasn't helped the review page obviously. > > > > >> > > > Instead of showing all lines for deleted files can this be > loaded > > >> > > > later only on request? > > >> > > > Can the 'View Reviews' page be broken up or paginated as well? > > >> > > > I think these two suggestions would help us. > > > > >> > > > > Christian > > > > >> > > > > -- > > >> > > > > Christian Hammond - chip...@chipx86.com > > >> > > > > Review Board -http://www.review-board.org > > >> > > > > VMware, Inc. -http://www.vmware.com > > > > >> > > > > On Wed, Mar 18, 2009 at 9:54 AM, ciaomary <ciaom...@gmail.com > > > > >> wrote: > > > > >> > > > > > Can anything be done to fix the pegged CPU issue I've > reported > > >> in my > > >> > > > > > prior email? > > > > >> > > > > > On Mar 17, 9:38 am, ciaomary <ciaom...@gmail.com> wrote: > > >> > > > > > > The downloadable diff for the review is 1.6MB. > > > > >> > > > > > > The review has 138 different files (7 pages). > > > > >> > > > > > > Page 1 loads in ~1 minute in FireFox. The twenty files are > on > > >> average > > >> > > > > > > 38 K. (max=118K, min=2K). Here all files have edit changes > (no > > >> > > > deleted > > >> > > > > > > files.) > > > > >> > > > > > > Page 3 loads in ~3 minutes in FireFox. The twenty files > are on > > >> > > > average > > >> > > > > > > 25K . No major deviations from the average. Here 12 of the > > >> files have > > >> > > > > > > been deleted rather than just edited. > > > > >> > > > > > > There are hundreds of review comments on this review > across > > >> many > > >> > > > users > > >> > > > > > > and files. > > > > >> > > > > > > During page load, the CPU is pegged and the browser is > > >> unresponsive > > >> > > > > > > for a good 2-3 minutes. This is the cause every time, very > > >> > > > > > > reproducable. If you are patient the page finally loads > and > > >> the > > >> > > > system > > >> > > > > > > CPU returns to normal. > > > > >> > > > > > > FireBug shows an HTTPS GET request for each of the twenty > > >> files > > >> > > > during > > >> > > > > > > the slow down/cpu pegging. Each HTTPS GETS are taking > longer > > >> on page > > >> > > > > > > 3, with some taking up to 2.5 seconds (others < 50ms). > Since > > >> the is > > >> > > > > > > cpu is pegged the browser processing seems to be the cause > of > > >> the > > >> > > > > > > delay however. > > > > >> > > > > > > On Mar 16, 6:31 pm, Christian Hammond < > chip...@chipx86.com> > > >> wrote: > > > > >> > > > > > > > So it's really going to depend on the sizes of the > > >> individual files > > >> > > > > > > > themselves. If a file is by itself large enough to cause > a > > >> couple > > >> > > > meg > > >> > > > > > diff > > >> > > > > > > > to be generated, there's nothing we can do really do, > since > > >> that > > >> > > > boils > > >> > > > > > down > > >> > > > > > > > to too large a file to show in the browser. > > > > >> > > > > > > > In your page 3 example, how big are the files and the > diffs > > >> in > > >> > > > > > particular? > > > > >> > > > > > > > The page itself loads quick enough, right? It's just the > > >> diff > > >> > > > > > fragments? > > >> > > > > > > > Which ones are you finding takes a long time and how big > are > > >> those > > >> > > > > > changes? > > > > >> > > > > > > > Christian > > > > >> > > > > > > > -- > > >> > > > > > > > Christian Hammond - chip...@chipx86.com > > >> > > > > > > > Review Board -http://www.review-board.org > > >> > > > > > > > VMware, Inc. -http://www.vmware.com > > > > >> > > > > > > > On Mon, Mar 16, 2009 at 5:32 PM, mary < > ciaom...@gmail.com> > > >> wrote: > > > > >> > > > > > > > > On really large diffs, performance is very slow and > can > > >> crash the > > > > ... > > > > read more ยป- Hide quoted text - > > > > - Show quoted text - > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "reviewboard" group. To post to this group, send email to reviewboard@googlegroups.com To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en -~----------~----~----~----~------~----~------~--~---