Issue 2494: push big file to remote Gerrit very slowly
Status:  New
Owner: ----
Reported by yesitsli...@gmail.com, Feb 21, 2014
************************************************************
***** NOTE: THIS BUG TRACKER IS FOR GERRIT CODE REVIEW *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, INTERNAL *****
***** ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.    *****
***** THOSE ISSUE BELONG IN DIFFERENT ISSUE TRACKERS!  *****
************************************************************

Affected Version:

Gerrit Code Review 2.7 2.8.1

What steps will reproduce the problem?
1.create a new project on Gerrit server
2.clone the project to local host
3.commit a big file to local repository,like libllvm-qcom.so,353M
4.push to remote server,it takes just a few seconds
**********
Writing objects: 100% (3/3), 143.84 MiB | 9.00 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
**********
5.commit a new revision of this big file into local repo,this time libllvm-qcom.so is change to 15M
6.push to remote server again,now this time pushing become very slowly,it will take about 5 hours to complete
waiting here for a very long time
******************
 git push origin test1:test1
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.54 KiB, done.
Total 3 (delta 1), reused 0 (delta 0)
*****************
writing speed of incoming pack is very low,about 20kbit/s,waiting to cry
-rw-r--r--  1 gituser gituser 850K Feb 22 10:36 incoming_2689984511460037884.pack

I tested this case in a git server whithout gerrit,pushed fast,phenomenon didn't happen.

What is the expected output? What do you see instead?


Please provide any additional information below.

[gerrit]
        basePath = *
        canonicalWebUrl = http://*:8080/
[database]
        type = postgresql
        hostname = localhost
        database = reviewdb
        username = *
        poolLimit = 320
[auth]
        type = LDAP
[ldap]
        server = ldap://*
        username = *
        accountBase = *
        accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
        accountFullName = ${givenName} ${sn}
        accountSshUserName = ${sAMAccountName.toLowerCase}
        accountMemberField = memberOf
        groupBase = *
        groupPattern = (&(objectClass=group)(cn=${groupname}))
        groupMemberPattern = (&(objectClass=group)(member=${dn}))
        groupName = cn
        referral = follow
        sslVerify = false

[sendemail]
        smtpServer = *
        smtpUser = *
[container]
        user = gituser
        javaHome = /usr/lib/jvm/java-6-openjdk-amd64/jre
        heapLimit = 16g

[core]
        packedGitLimit = 10m
        streamFileThreshold = 2047m
        deltaBaseCacheLimit = 500m
[receive]
        maxObjectSizeLimit = 0

[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = http://*:8080/
[cache]
        directory = cache