문제

나는 CGI-BIN .CGI 기반 웹 개발을하지 않을 정도로 운이 좋았습니다. 그러나 일반적으로 그 시절을 '놓치지 않는다고 생각합니다.

최근에 참여한 프로젝트에는 CGI-BIN 기반 API가있는 레거시 시스템에 통신 해야하는 페이지를 다룰 때 성능 문제가 있습니다. 그 시스템은 Cognos 7입니다.

내가 지금까지받은 피드백은 '코코 노스가 느리게'있지만 다른 사람들은 코코 노스에서 큰 성공을 거두었다는 것입니다. 나는 CGI-BIN을 통한 액세스와 더 관련이 있다고 생각합니다.

CGI-BIN 기반 웹 개발을 비 성능, 어려운 등으로 만든 주요 문제는 무엇입니까?

도움이 되었습니까?

해결책

CGI-BIN 기반 시스템의 기본 아키텍처 문제는 각 HTTP 요청에 서버가 새로운 프로세스를 시작해야한다는 것입니다. 이것은 여러 가지 방법으로 성능에 영향을 미칩니다.

  • 프로그램의 OS 페이지가 프로세스 등을 설정함에 따라 프로세스를 시작하는 데 비용이 많이 듭니다.
  • 요청에 따라 리소스를 공유 할 수 없으므로 각 요청에 따라 DB 연결 등을 설정해야합니다.
  • 사용자 세션 상태는 메모리에서 보존 할 수 없으므로 각 요청에 따라 지속되어야합니다.

다른 팁

CGI의 가장 큰 고통은 CGI 프로그램이 시작할 때마다 모든 것을 "배워야"한다는 것입니다. 그들이 끊임없이 달리고 있다면 그것은 사실이 아닐 것입니다 ... 물론 ...

주요 단점 인 IMHO는 모든 하위 수준의 코딩이 가지고있는 것과 동일한 단점이었습니다. 문제 도메인에서 프로그래밍하는 대신 구현 도메인에서 프로그래밍해야했습니다. 최종 결과는 핵심적으로 동일합니다. HTTP 요청에 따라 HTTP 응답이 클라이언트에게 전송되었습니다. 그러나 얻는 것 에게 그 시점은 프로그래밍 관점에서 훨씬 까다 롭습니다.

Apache는 다양한 언어에 대한 몇 가지 솔루션을 가지고 있습니다 (예 : mod_perl) 따라서 스크립트가 한 번만 호출 된 다음 빠른 검색을 위해 메모리에 고정됩니다. 여전히 많은 GCI-Protocol 구동 사이트가 있으며, 그 중 다수는 잘 코딩되고 설정되면 상당히 낮은 대기 시간으로 실행됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top