Nginx module development practice with blocking call

Vladimir Shebordaev vshebordaev at mail.ru
Mon May 14 13:12:41 UTC 2012


Hi!

Increasing the number of nginx worker processes is not scalable and
rather wasteful solution, it can easily affect overall server
performance. Basically, current nginx design does not provide much for
dynamic content generation but it has well-developed facilities for
caching and proxying.  So, it seems, the best option for you is to
move to fastcgi interface and handle db access percularities in the
application code.

In the hope it helps.

Regards,
Vladimir

2012/5/14 vivek goel <goelvivek2011 at gmail.com>:
> I am writing nginx module which uses sqlite to do some read operation. As
> sqlite read doesn't support non-blocking call(according to my knowledge).
> What will be best solution to integrate it with nginx.
> I am accepting near about 200 at the same time. One request takes near about
> 200 ms to process. What method will be the best implementation using nginx:
>
> Increasing nginx worker process count to 50-200. So I will having enough
> worker to accept client request.
> My concern it that will it increasing connecting time of a user on next
> request as there will be less chances that same user will be served by same
> nginx worker process.
> Doing te read in a thread and using nginx event based api to send response.
> So I can handle multiple client using only two or one worker process.
> Moving my code to fastcgi and using nginx fastcgi module to communicate with
> .
>
> What will be the best solution for this implementation ?
>
> regards
> Vivek Goel
>
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel



More information about the nginx-devel mailing list