Git push operations extremely slow on Windows

症状

Push operations in Windows environments take above 20 seconds (minutes) to be completed:

[33391ms] - "POST /scm/TEST/foo.git/git-receive-pack HTTP/1.1"
  [203ms] - StashUser com.atlassian.stash.user.UserService.authenticate(String,String,CaptchaResponse)
    [0ms] - InternalStashUser com.atlassian.stash.internal.user.StashUserDao.findByName(String)
    [0ms] - void com.atlassian.stash.internal.user.RepositoryAccessDao.trimToFirstPage(InternalStashUser,int,Predicate)
      [0ms] - boolean com.atlassian.stash.user.PermissionService.hasRepositoryPermission(StashUser,Repository,Permission)
        [0ms] - boolean com.atlassian.stash.internal.user.GrantedPermissionDao.isGrantedToUser(UserPermissionSearchCriteria)
      [0ms] - boolean com.atlassian.stash.user.PermissionService.hasRepositoryPermission(StashUser,Repository,Permission)
...

原因

Running Stash as a user (either via Windows service or not) that is part of the Administrator group causes Windows to spend a lot of time running permission checks.

atlstash

If you installed Stash as a service using the installer as described on Getting started, you shouldn't be seeing this issue when it is run as a service. A user atlstash is created and responsible for running Stash. This user is not a member of the Administrator group. Please refer to Running the Stash installer for more details on the atlstash user.

回避策

Run Stash as a local, non-administrator user.

ソリューション

If Stash cannot be run as a non-administrator user, apply this hotfix http://support.microsoft.com/kb/2545833.

最終更新日 2016 年 4 月 27 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.