나는 펄 프로그램을 둘러싼 단순한 래퍼 인 웹 스크립트를 가지고있다.exec() 호출의 오버 헤드?
#!/bin/sh
source ~/.myinit // pull in some configurations like [PRIVATE_DIR]
exec [PRIVATE_DIR]/myprog.pl
메인 프로그램 (myprog.pl)이 다른 구성을 가진 다른 컴퓨터에서 실행되기 때문에 코드를 더 잘 구분하기 만하면된다. 모드가 있으며 모든 설치에 대해 업데이트하지 않아도됩니다. 그러나 나는 효율성을 위해 청결을 기꺼이 희생하려고한다.
그래서이 엑스트라 sh exec() 호출은 웹 서버에서 꽤 자주 (한 번에 1000 명 이상의 사용자가 있음) 고려할 수있는 무시할 수없는 오버 헤드를 추가합니까? 사람들이 여분의 fork/exec 호출을하지 않아도되는 것을 피하기 위해 httpd에 프로그램을 삽입하는 데 많은 시간이 걸렸다는 것을 알고 있기 때문에 나는 묻는다. 필자의 가정은 이것이 호출되는 프로그램의 오버 헤드 (예 : mod_perl이 매우 느린 펄 시작을 우회 함) 때문이며 자체 호출 프로세스가 아닙니다. 그것이 정확할까요?
이 벤치 마크를 시도했지만 차이가 있는지 확인해야하는 해상도를 얻을 수 없습니다. 그것에 대한 조언도 감사하겠습니다.
고마워!
'overhead of exec() call?'에 대한 답변에 대한 의견이 있으십니까? ;-)? – shellter