perl cgi의 최적화 및 변환문제입니다..

mirr의 이미지

원래 Perl 로 작성된 CGI 웹프로그램이 있습니다.
처음 설계할때부터 CGI의 Fork문제를 생각하지 않았고, 소규모로 서비스될 예정이였던지라,
성능에 별 관계 없이 쉽게 받아온 공개 Perl CGI 프로그램을 수정해서
서비스 하고 있었습니다만,

예상외로 사용자가 늘어나고, 사용자 정보를 모두 파일디비를 사용하다 보니,
입출력부분과, 기타 접속및 갱신부분에 많은 부하가 따르려고 합니다.
게다가 프로그램의 특성상 매우 짧은시간(15초정도) 리퀘스트가 일어나게 됩니다.

그래서 조언을 좀 구하고자 하는데, 일단 제 생각은 이렇습니다.
1.pl과 cgi를 php로 포팅해서 재작성한다. (시도는 해봤지만 뜨악이었습니다.)
2. fastcgi라는 모듈을 사용해 본다. (서버관리는 제 권한이 아닌지라 조심스럽습니다.)
3. c언어로 포팅해 컴파일된 cgi를 사용한다.(이경우에도 fork되는건 동일한듯 싶습니다만..)

이렇게 세가지 방법을 생각해 보곤 있습니다.
가장 좋은 방법으로는 php로 포팅을 하는게 좋을거라 생각하는데,
이에 따른 자동화툴이라도 있을지 모르겠고, cgi와 php 둘다 정확히 아는 수준은 아닌지라,
포팅시 유의해야 할 점들에 대한 지식도 없습니다.

아무쪼록 명퀘한 조언 부탁드립니다...

nohmad의 이미지

기존 Perl 코드가 그렇게 크지 않으면 포팅하는 것이 간편할 수 있겠지만, 새로운 것도 과감히 시도해보는 진취적인 성향이시라면 FastCGI 추천합니다. :-) Perl+FastCGI면 C+CGI 보다 일반적으로 빠릅니다.

mirr의 이미지

nohmad wrote:
기존 Perl 코드가 그렇게 크지 않으면 포팅하는 것이 간편할 수 있겠지만, 새로운 것도 과감히 시도해보는 진취적인 성향이시라면 FastCGI 추천합니다. :-) Perl+FastCGI면 C+CGI 보다 일반적으로 빠릅니다.

fastCGI를 설치하려면 어찌해야하나요..서버에 아파치가 설치되어 돌아가고 있는건지 모르겠군요..
이리저리 뒤져봐도 httpd나 apache는 보이질 않습니다..
httpd는 보이긴 하는데 /home/www/bin/httpd로 경로가 잡혀있고,
www는 접근 불가입니다..

서버 관리자가 허용하지 않는다면, php로 포팅해야 할듯 합니다...
아참...혹시 mod_perl의 경우도 따로 설치해줘야 하는것인가요?

따로 설치하는거 맞군요....관리자가 받아들여주질 않는다면...........
php포팅이 길 ㅜ.,ㅜ

내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.