2010-12-30 3 views
2

우리는 VPS 계정 (CPU : 2.68GHz RAM : 1824MB)에 자체 호스트 서버 (Gitolite)를 가지고 있습니다. 이 VPS는 클라이언트 데모 용 저개발 웹 앱을 게시하는데도 사용됩니다. (트래픽이 거의 없음). 그래서 서버의 주요 용도는 Git Server Only입니다.git : 리모트 쪽이 예기치 않게 끊기 - 동시 사용자가 너무 많습니까?

이 자식 서버는 다양한 프로젝트를 위해 30 명에서 40 명으로 구성된 팀이 액세스합니다. 우리의 문제는 6-7 명이 서버에 액세스하려고하는 때 (때로는 동일한 저장소) 오류 메시지가 자주 나타나는 경우입니다.

ssh : 호스트 xxx.xxx.xx.xx 포트 22에 연결 : 잘못된 파일 숫자 치명적인 : 원격 종료가 예기치 않게 끊어졌습니다.

10-15 분 동안 시도한 후 일반적으로 성공합니다.

이른 아침과 늦은 밤에 단 1-2 명이있을 때 git 명령은 100 % 성공률로 작동합니다. 또한 내가 HTTP를 통해 서버에서 호스팅되는 다른 파일에 액세스하면 잘 작동합니다.

StackOverflow와 이에 관한 다른 사이트에서 몇 가지 질문을 발견했습니다. 그러나 대부분의 사람들은 SSH 키 설정 또는 Msysgit과 Cygns SSH 간의 충돌을 지적합니다.

그러나 Mac Machines뿐만 아니라 Windows (msysgit 만 사용)에서도이 문제가 발생한다고 생각하지 않습니다. 또한 그것이 SSH 구성 문제라면 전혀 작동하지 않아야합니다. 그러나 우리의 경우 10-15 분 후에 작동합니다.

저는 우리 서버가 동일한 서버 (또는 동일한 repo) 또는 이와 유사한 서버에 너무 많은 동시 연결이 될 수 있다고 생각합니다. 이 문제를 해결하기 위해 수정해야하는 설정이나 conf 파일이 있습니까?

이 문제를 해결하거나 올바른 방향으로 나를 안내해주십시오.

미리 감사드립니다.

프리 텀.

+6

이것은 VPS의 SSH 서버 문제입니다. 자식은 얼마나 많은 사람들이 연결되어 있는지, 또는 당신이 사용하고있는 교통 수단을 신경 쓰지 않는다; 일단 당신은 그것의 일을 할 것입니다 ssh 링크가 있습니다. 이것은 아마도 serverfault에 대한 질문입니다. –

+0

안녕하세요 찰스, 제안에 감사드립니다. 나는 serverfault를 시도 할 것이다. –

답변

1

이 질문은 this one과 관련 있습니다. 이 문제가 ServerFault로 옮겨 지거나 해결 되었다면 그 영향에 대한 의견이 없습니다.이 답변을 추가하겠습니다.

문제는 SSH를 통해 git 저장소에 액세스하는 것으로 제한됩니다. 이것은 기본적으로 SSHD가 10 개 이상의 동시 연결을 수용하지 않기 때문입니다. 남자 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 pushgit pull 등으로 완료됩니다.

+0

예. sshd_config에서만이 값을 설정하여 해결되었습니다. –

관련 문제