2016-03-30 16 views
3

リポジトリからパッケージを使用してDebian上でGitlabを実行しています。ほとんどの場合、Gitlabは非常に速く動作していますが、長いアイドル時間が過ぎると、Gitlabは非常に遅くなったり、タイムアウトしたりします(エラー502)。私は遠隔地のgitアクセスでタイムアウトしました(問題を再現できませんでした - 内部APIのタイムアウト)。Gitlabのタイムアウト/初期ページの読み込みが遅い

私のセットアップでは、Debianマシンは別のいくつかのサービスを提供する別のnginxプロキシの後ろにあります。私はgitlab-cliのチェックをして、すべてがうまくいくように見える。私のリバースプロキシのエラーログで

私は唯一の接続タイムアウトを参照してください。

[error] 8643#0: *4139 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 10.1.1.10, server: gitlab.mydomain.tld, request: "GET/HTTP/1.1", upstream: "http://{SERVER-IP}:80/", host: "gitlab.mydomain.tld" 

私は私のunicorn_stderr.logにいくつかのエラーを見ることができます

E, [2016-03-30T19:40:20.183991 #783] ERROR -- : worker=1 PID:16798 timeout (61s > 60s), killing 
E, [2016-03-30T19:40:20.194969 #783] ERROR -- : reaped #<Process::Status: pid 16798 SIGKILL (signal 9)> worker=1 
I, [2016-03-30T19:40:20.197554 #16871] INFO -- : worker=1 spawned pid=16871 
I, [2016-03-30T19:40:20.197909 #16871] INFO -- : worker=1 ready 
E, [2016-03-30T20:08:42.911429 #783] ERROR -- : worker=0 PID:16866 timeout (61s > 60s), killing 
E, [2016-03-30T20:08:43.191151 #783] ERROR -- : reaped #<Process::Status: pid 16866 SIGKILL (signal 9)> worker=0 
I, [2016-03-30T20:08:43.758363 #18728] INFO -- : worker=0 spawned pid=18728 
I, [2016-03-30T20:08:44.108244 #18728] INFO -- : worker=0 ready 

私はについて少し好奇心とは何ですかgitlabで配信されたnginxのログにエラーがないという事実。

いくつかのより多くのシステム情報:

#sudo gitlab-rake gitlab:env:info 

System information 
System:   Debian 8.3 
Current User: git 
Using RVM:  no 
Ruby Version: 2.1.8p440 
Gem Version: 2.5.1 
Bundler Version:1.10.6 
Rake Version: 10.5.0 
Sidekiq Version:4.0.1 

GitLab information 
Version:  8.5.0 
Revision:  a513e09 
Directory:  /opt/gitlab/embedded/service/gitlab-rails 
DB Adapter:  postgresql 
URL:   http://gitlab.mydomain.tld 
HTTP Clone URL: http://gitlab.mydomain.tld/some-group/some-project.git 
SSH Clone URL: [email protected]:some-group/some-project.git 
Using LDAP:  no 
Using Omniauth: no 

GitLab Shell 
Version:  2.6.10 
Repositories: /var/opt/gitlab/git-data/repositories 
Hooks:   /opt/gitlab/embedded/service/gitlab-shell/hooks/ 
Git:   /opt/gitlab/embedded/bin/git 

編集:

"外部" リバースプロキシ上の私のnginxの設定は次のようになります

server { 
     listen 443; 
     ssl  on; 
     server_name gitlab.mydomain.tld; 

     access_log /var/log/nginx/gitlab.mydomain.tld.access.log; 
     error_log /var/log/nginx/gitlab.mydomain.tld.error.log; 

     ssl_certificate   /etc/nginx/ssl/gitlab.mydomain.tld_unified.crt; 
     ssl_certificate_key  /etc/nginx/ssl/mydomain.tld.key; 

     location/{ 
       proxy_pass http://gitlab:80; 
       proxy_redirect default; 
       proxy_set_header  Host $http_host; 
       proxy_set_header  X_FORWARDED_PROTO "https"; 
       satisfy any; 
     } 
} 

EDIT2:

I提案された回答を考慮に入れ、またこの情報源とみなした:https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/requirements.md

私は現在、VMに2GBのRAMを割り当て、さらにユニコーン労働者を1人追加しました。

EDIT3:

問題は、より多くのメモリを追加し、3人のユニコーンの労働者を使用することによって解決しているようです。私たちのボックスはGITlabに専用されているものの、

答えて

1

月、

は、私は同様のセットアップを持っています。サーバーのスペック(GITLABはメモリが好き)、そのボックスの負荷を知らなくても、私は、次の診断を示唆している:

  1. あなたの上流のnginxはgitlabのnginxの構成と同一のパラメータを使用していますか?彼らはタイムアウトを含む多くのことを微調整しました。
  2. どのような要求がタイムアウトになりますか?いくつかの操作(差分を生成するなど)には、レンダリングに時間がかかることがあります。
  3. SSH経由でリクエストを実行する場合、タイムアウトも発生しますか?
  4. /var/logのグローバルログをチェックしましたか? FYI
+1

お返事ありがとう、 gitlabマシン自体はそのためだけに作られていますが(ESXiでホストされています)、1GBのRAM(現在私は唯一のユーザーです)にアクセスできます。 1.私はそこに同じ設定を使用しませんが、私はタイムアウトの横に特別な設定を見つけることができませんでした。私は時間切れになってしまったときにリクエストがすでに長くかかることがあります... 2.リクエストの種類は実際には関係ありません。私は長いアイドル時間の後にすべてのサイトになることができます。問題 3. wgetなどを使って、どういう意味があるのか​​よくわからないのですか? 4.問題はないようです! –

+0

Jan、RAMの量があなたのボトルネックだと思います。 [gitlabの最小要件](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/requirements.md)に従って、最適なパフォーマンスで実行するには少なくとも2 GB必要です。 –

+0

うわー、私は非常に簡単にこれをテストすることができます、量を増やし、問題がまだ存在するかどうかをチェックします! –

0

:私は

今私は、私はより良いgogsまたは他の代替で行くと思うOOMエラーをスローしないように4ギガバイトのRAMを持っている私の小さなGitLabのインストールを拡大しなければなりませんでした。

+0

これを念頭に置いて、gitlabは今や滑らかに走っているようだ! –

+0

ドッカーでゴッグ+ポストグルを設定した経験を書きました。 http://garthwaite.org/docker-gogs.html –

関連する問題