I haven't set core.streamFileThreshold, so it should have its default
value of 50MB.
But yeah, like Shawn said, I am experiencing much better performance
over ssh than over http. I also suspect it's related to Jetty. I
don't think it is related to Apache or mod_proxy. In fact, I've set
up Gerrit without using Apache at all, just to explicitly rule out
this possibility, and I still experienced the same slow performance
over http.
I've got a couple of additional data points to share though:
1. I've set up v2.5.4 on my personal laptop (both the stock .war and
a .war built myself), and I experienced the same slowness and the same
(what seems like) 3MB/s rate limit for http. So this provides a test
case from a completely different environment (Ubuntu 12.04, openjdk
1.6.0, maven 3.0.4), and one that is disconnected from anything at
$dayjob.
2. I built 8713eb859eb4d6680f7e0da55725141aebd907e2 (aka
2.7-rc1-265), which is one of the last commits that can be built using
maven, but uses an updated version of Jetty. This version uses Jetty
8.1.7.v20120910 and it did _not_ suffer from the http slowness. On my
laptop I get about 15MB/s over ssh and about 20MB/s over http, which
is what I was expecting.
3. I cherry-picked ea48b3c2502bcaa51404175f381f4f34699ee96a,
"Upgrade embedded Jetty to 8.1.7.v20120910" on top of v2.5.4 and the
resulting build also does _not_ suffer from the http slowness. The
performance is the same as 8713eb85.
So, it seems that upgrading Jetty to 8.1.7 could be a work around.
Can you think of any negative side-effects of cherry-picking ea48b3c2
on top of v2.5.4?
Does that trigger any thoughts about what could be causing the http
slowness in the stock 2.5.4 (and 2.2.1) using Jetty 7.2.1?
Is anyone else running Gerrit using the embedded Jetty engine and
experiencing the poor http performance I described? (or not
experiencing it?). Or do people usually run Gerrit in an external
Jetty instance.
-Brandon