[FASTCGI] very low performance
sprog at online.ru
Wed Jan 27 12:39:37 EST 2010
Wednesday, January 27, 2010, 3:05:40 PM, you wrote:
Hmm, make sure you have all requests coming to this process, instead
streaming the picture print PID and the counter of
requests. Make sure that the same PID serves as many requests as
you want. The PID should stay the same but the request counter
should increase. That's normal. What do you see in your case?
When you do not load the picture, is there any performance change?
Check out apche error log, is there any message related to crashing or
If everything is OK, check out your compiler options, does it have
the threading support?
Try out this sample,
-- ghc -package fastcgi -threaded --make -o FCgiPlay.fcgi FCgiPlay.hs
import System.Posix.Process (getProcessID)
test :: CGI CGIResult
test = do setHeader "Content-type" "text/plain"
pid <- liftIO getProcessID
threadId <- liftIO myThreadId
let tid = concat $ drop 1 $ words $ show threadId
output $ unlines [ "Process ID: " ++ show pid,
"Thread ID: " ++ tid]
main = runFastCGIConcurrent' forkIO 10 test
does it work fast?
ET> Hello, Igor, thank you for detailed explanation!
>> Since you've done very badly in programming your first FastCGI app,
>> you're making the server to run through steps 1 to 6 PLUS FastCGI
>> overhead which in the first time is significant. That's why
>> you have such a bad performance out of a sound technology.
ET> But I'm afraid that my program has the loop. 'runFastCGIConcurrent' function listen webserver's requests and launches 'cgiMain' for each one.
ET> Network.FastCGI module uses not different processes for processing requests but posix threads.
ET> I have checked my program's behaviour, it can serve many requests in some time with 'FastCGIConfig -maxClassProcesses 1' option in webserver's config.
ET> There is only one myprogram.fcgi system process with immutable pid in that time.
ET> FastCGI-developers mailing list
ET> FastCGI-developers at mailman.fastcgi.com
Igor mailto:sprog at online.ru
More information about the FastCGI-developers