2

VPSアカウント(CPU:2.68GHz RAM:1824MB)にセルフホストのgitサーバー(Gitolite)があります。これと同じVPSは、クライアントデモ用の開発中のWebアプリを公開するためにも使用されます。(トラフィックはほとんどありません)。したがって、サーバーの主な用途はGitサーバーとしてのみです。

このgitサーバーには、さまざまなプロジェクトのために30〜40人のチームがアクセスします。私たちの問題は、6〜7人がサーバー(場合によっては同じリポジトリ)にアクセスしようとしているときに、エラーメッセージが頻繁に表示されることです。

ssh:ホストxxx.xxx.xx.xxポート22に接続します:不正なファイル番号致命的:リモートエンドが予期せずハングアップしました

10〜15分間試した後、通常は成功します。

1〜2人しかいない早朝と深夜の間、gitコマンドは100%の成功率で機能します。また、サーバーでホストされている他のファイルにHTTP経由でアクセスすると、正常に機能することにも注意してください。

StackOverflowや他のサイトでこれに関していくつか質問を見つけました。しかし、ほとんどの人は、SSHキーの設定またはMsysgitとCygnsSSHの間の競合を指摘しているようです。

ただし、この動作はWindows(msysgitのみを使用)およびMacマシンで発生するため、この場合は問題ではないと思います。また、SSH構成の問題である場合は、まったく機能しないはずです。しかし、私たちの場合、10〜15分後に機能します。

私たちの場合、同じサーバー(または同じリポジトリ)などへの同時接続が多すぎる可能性があると思います。この問題を解決するために変更する必要のある設定またはconfファイルはありますか?

私がこの問題を解決するのを手伝ってください、または私を正しい方向に向けてください。

前もって感謝します。

プリタム。

4

1 に答える 1

1

この質問はこれに関連しています。これが ServerFault に移動したかどうか、または解決されたかどうかはわかりません-その旨のコメントはありません-そのため、この回答を追加します。

あなたの問題は、SSH 経由で git リポジトリにアクセスすることに限定されています。これは、デフォルトでは、SSHD が 10 を超える同時接続に対応していないためです。

man sshd_config ページから:

MaxSessions
     Specifies the maximum number of open sessions permitted per net‐
     work connection.  The default is 10.

 MaxStartups
     Specifies the maximum number of concurrent unauthenticated con‐
     nections to the SSH daemon.  Additional connections will be
     dropped until authentication succeeds or the LoginGraceTime
     expires for a connection.  The default is 10.

     Alternatively, random early drop can be enabled by specifying the
     three colon separated values “start:rate:full” (e.g. "10:30:60").
     sshd(8) will refuse connection attempts with a probability of
     “rate/100” (30%) if there are currently “start” (10) unauthenti‐
     cated connections.  The probability increases linearly and all
     connection attempts are refused if the number of unauthenticated
     connections reaches “full” (60).

これらを変更していない場合、サーバーは 10 を超える同時接続を処理できません。SSH 経由でリポジトリにアクセスするのに時間はかかりません。したがって、継続的に再試行すると、最終的には他の人々が完了したときに接続されgit pushますgit pull

于 2012-02-17T13:13:19.370 に答える