gitea: Extremely slow post-receive hook of Gitea - in Docker on a Synology server

  • Gitea version (or commit ref): 1.11.4
  • Git version: git version 2.24.1
  • Operating system: Docker on Synology NAS
  • Database (use [x]):
    • PostgreSQL
    • MySQL
    • MSSQL
    • SQLite
  • Can you reproduce the bug at https://try.gitea.io:
    • Yes (provide example URL)
    • No
    • Not relevant
  • Log gist:

Description

Hello,

if I push to my repository it takes up to 30-40 seconds. Looking at the logs I see one line that has raised my attention:

[Macaron] 2020-11-26 17:55:24: Completed POST /api/internal/hook/post-receive/StormTest/newFramework3 200 OK in 19.555562956s

Why does the post-receive hook take 20 seconds to complete for a repository with a size of only about 2MB? I have not setup any post-receive hook. What is going wrong?

Any ideas? Help appreciated.

Kind regards, Markus

Logs

Server listening on 0.0.0.0 port 22.
2020/11/26 17:52:25 cmd/web.go:107:runWeb() [I] Starting Gitea on PID: 17
2020/11/26 17:52:26 ...dules/setting/git.go:91:newGit() [I] Git Version: 2.24.1, Wire Protocol Version 2 Enabled
2020/11/26 17:52:26 routers/init.go:87:GlobalInit() [T] AppPath: /app/gitea/gitea
2020/11/26 17:52:26 routers/init.go:88:GlobalInit() [T] AppWorkPath: /app/gitea
2020/11/26 17:52:26 routers/init.go:89:GlobalInit() [T] Custom path: /data/gitea
2020/11/26 17:52:26 routers/init.go:90:GlobalInit() [T] Log path: /data/gitea/log
[Macaron] 2020-11-26 17:54:27: Started GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:54:31: Completed GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack 200 OK in 3.466846358s
[Macaron] 2020-11-26 17:54:31: Started POST /StormTest/newFramework3.git/git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:54:35: Completed POST /StormTest/newFramework3.git/git-upload-pack 200 OK in 3.641073732s
[Macaron] 2020-11-26 17:54:52: Started GET /StormTest/newFramework3.git/info/refs?service=git-receive-pack for 172.26.0.1
[Macaron] 2020-11-26 17:54:53: Completed GET /StormTest/newFramework3.git/info/refs?service=git-receive-pack 401 Unauthorized in 253.691108ms
[Macaron] 2020-11-26 17:54:53: Started GET /StormTest/newFramework3.git/info/refs?service=git-receive-pack for 172.26.0.1
[Macaron] 2020-11-26 17:54:54: Completed GET /StormTest/newFramework3.git/info/refs?service=git-receive-pack 200 OK in 1.470739886s
[Macaron] 2020-11-26 17:54:54: Started POST /StormTest/newFramework3.git/git-receive-pack for 172.26.0.1
[Macaron] 2020-11-26 17:54:59: Started POST /api/internal/hook/pre-receive/StormTest/newFramework3 for 127.0.0.1
[Macaron] 2020-11-26 17:54:59: Completed POST /api/internal/hook/pre-receive/StormTest/newFramework3 200 OK in 90.02641ms
[Macaron] 2020-11-26 17:55:04: Started POST /api/internal/hook/post-receive/StormTest/newFramework3 for 127.0.0.1
[Macaron] 2020-11-26 17:55:13: Started GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:55:14: Completed GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack 200 OK in 630.446413ms
[Macaron] 2020-11-26 17:55:14: Started POST /StormTest/newFramework3.git/git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:55:14: Completed POST /StormTest/newFramework3.git/git-upload-pack 200 OK in 288.453021ms
[Macaron] 2020-11-26 17:55:14: Started GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:55:16: Completed GET /StormTest/newFramework3.git/info/refs?service=git-upload-pack 200 OK in 1.706482304s
[Macaron] 2020-11-26 17:55:16: Started POST /StormTest/newFramework3.git/git-upload-pack for 172.26.0.1
[Macaron] 2020-11-26 17:55:16: Completed POST /StormTest/newFramework3.git/git-upload-pack 200 OK in 112.871945ms
[Macaron] 2020-11-26 17:55:24: Completed POST /api/internal/hook/post-receive/StormTest/newFramework3 200 OK in 19.555562956s
[Macaron] 2020-11-26 17:55:24: Completed POST /StormTest/newFramework3.git/git-receive-pack 200 OK in 29.387418352s

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 30 (20 by maintainers)

Most upvoted comments

I just got my GitEA synology docker installed and have a trivial repo: nothing in it, except the branch where i deleted README.md. It is soo slow. I was sold on the claims that this was lightweight and not turgid and slow. You might want to put some warnings on the main pages so that others don’t waste time getting to the same point and then discovering that it works so poorly.

Anyway, I have beefy NAS with a 10G connexion to my client and nothing else running in Docker except an unused BitWarden. I added the nas-git as a remote to my keybase-git based repo. Keybase has to go out to the keybase servers plus locally perform various crypto ops, and I am familiar with how slow it is: not really. The nas-git takes noticeably longer to do nothing.

% pass git remote -v
nas	ssh://git@git.local/dap/passwordstore (fetch)
nas	ssh://git@git.local/dap/passwordstore (push)
origin	keybase://private/dap/passwordstore (fetch)
origin	keybase://private/dap/passwordstore (push)
% time pass git fetch origin
Initializing Keybase... done.
Syncing with Keybase... done.
pass git fetch origin  0.14s user 0.18s system 9% cpu 3.579 total
% time pass git fetch nas
pass git fetch nas  0.07s user 0.10s system 0% cpu 27.084 total

Almost 10x slower. That is impressive!

I’d love to use a later version if only you guys would push up a newer set of Docker images 😃 Can we do that? If not, I’ll build it myself 😄

I pushed 1.15.0-RC2 yesterday and it’s up on docker hub… But I suspect you’re not using the gitea/gitea build? What build are you using?