Loading

#Memo - FastCGI

​က်​ေ​နာ္​တို့ unix ​က shell ​ထဲ​မွာ script ​ကို run ​ရ​င္

#!/bin/sh
#!/usr/bin/perl

​စ​သျ​ဖ​င့္ ​ထိ​ပ္​ဆံုး​လို​င္း​မွာ ​ေ​ရး​ေ​လ့​ေ​ရး​ထ​ရွိ​ပါ​တ​ယ္။

windows ​မွာ​ဆို​ရ​င္ script run ​ခ်​င္​ရ​င္ wscript.exe script.vs ​စ​သျ​ဖ​င့္ run ​တာ​နဲ့ ​ဆ​င္​မ​ယ္​ထ​င္​ပါ​တ​ယ္။

​အဲ​သ​လို run ​ရ​င္ wscript.exe, sh, perl ​စ​တဲ့ main program ​ကို ​အ​ရ​င္ load ​လု​ပ္​ရ​ပါ​တ​ယ္။

web site ​အ​ေ​န​နဲ့ ​ဆို​ရ​င္ user ​ရဲ့ request ​တို​င္း​မွာ ​အဲ​လို​လု​ပ္​ေ​န​ရ​ရ​င္ performance ​ကို ​ထိ​ခို​က္​ပါ​တ​ယ္။

​အဲ​ဒါ​ကို ​ေျ​ဖ​ရွ​င္း​ဖို့ ​တ​စ္​န​ည္း​က​ေ​တာ့ apache ​ရဲ့ modules ​အ​ေ​န​နဲ့ ​လု​ပ္​ထား​တဲ့ mod_cgi, mod_perl, mod_python ​စ​တာ​ေ​တြ​သံုး​ပါ​တ​ယ္။ ​တ​စ္​ခါ ​ပဲ load ​လု​ပ္​ထား​တဲ့ ​သ​ေ​ဘာ​ေ​ပါ့။

​ေ​နာ​က္​တ​စ္​န​ည္း​က​ေ​တာ့ FastCGI, fcgid ​စ​တာ​ေ​တြ​နဲ့ cgi, php, python, ruby ​ေ​တြ​ကို memory ​ေ​ပါ္​ကို ​တ​စ္​ခါ​ဆြဲ​တ​င္ျ​ပီး ​ထ​ပ္​ခါ​ထ​ပ္​ခါ memory ​ေ​ပါ္​က​ေ​န​ပဲ ​သံုး​တဲ့ ​န​ည္း​ပါ။

ဥ​ပ​မာ - ​ေ​ဟာ့​ဒီ perl script ​ဟာ FCGI ​ကို ​သံုး​ထားျ​ပီး page ​ကို refresh ​လု​ပ္​တို​င္း
I have run 1 times. I have run 2 times. I have run 3 times. ​စ​သျ​ဖ​င့္ ​တိုး​တိုး​သြား​မွာ ျ​ဖ​စ္​ပါ​တ​ယ္။

#!/usr/bin/perl

# တစ္ခါပဲ run

$counter=0;

# ထပ္ခါတစ္လဲလဲ run

use FCGI;
while ( FCGI::accept() >= 0 ) {
$counter++;
print "Content-type:text/html\n\n";
print "I have run $counter times.";
}

cache ​နဲ့ ​မ​တူ​ပါ​ဘူး။ cache ​က ​အ​ေျ​ကာ​င္း​အ​ရာ ​တ​စ္​ခု ​တ​ည္း​ကို ​ပဲ ျ​ပ​န္ output ​ထု​တ္​ေ​ပး​မွျ​ဖ​စ္ျ​ပီး ​ဒီ​ဟာ​က​ေ​တာ့ program run ​တဲ့ speed ​ကို ျ​မ​န္​ေ​အာ​င္ memory ​ေ​ပါ္​တ​င္​ထား​တဲ့ ​န​ည္း​လို့​ေျ​ပာ​လို့​ရ​မ​ယ္​ထ​င္​ပါ​တ​ယ္။

memory ​ေ​ပါ္​က​ဟာ ​ကို ​ေ​ဟာ့​ဒီ​လို ​ေ​ခါ္ျ​က​ည့္​လို​က္​ရ​င္၊ ​ေ​ဟာ့​ဒီ​လို​မ်ိုး memory ​ေ​ပါ္​မွာ ​ရွိ​ေ​န​တာ​ကို ​ေ​တြ့​နို​င္​မွာ​ပါ။
PID  PPID  C STIME TTY          TIME CMD
12419 21017 0 06:13 ? 00:00:00 /usr/bin/perl test.fcgi

FCGI ​ကို ​သံုး​ဖို့​အ​တြ​က္ mod_fcgi ​လို​အ​ပ္​ပါ​မ​ယ္။
.htaccess ​မွာျ​ဖ​စ္ျ​ဖ​စ္ httpd.conf / apache2.conf ​စ​တာ​ေ​တြ​မွာ ​ေ​ဟာ့​ဒီ​လို့​ထ​ည့္​ေ​ပး​ရ​ပါ​လိ​မ့္​မ​ယ္။
AddHandler fastcgi-script .fcgi
Options +FollowSymLinks +ExecCGI

.fcgi ​ဖို​င္​ကို executable access ​ေ​ပး​ရ​ပါ​လိ​မ့္​မ​ယ္။
chmod +x test.fcgi

Cheers,
Soe Min

No comments:

က်ေနာ္ဖတ္ေသာ အျခား ဘေလာ့ / ဆိုဒ္မ်ား