[email protected] said:
> In addition to [1] which you posted later, [2] seems to have been eaten 
> too.  Is non-forking mode threading or just serializing?

I was referring to the use of "master_process off":

http://nginx.org/en/docs/faq/daemon_master_process_off.html

Nginx does not use threads at all (there is some old FreeBSD-specific code
using rfork() but that does not seem to be maintained).  In normal
operation you have a single master process that spawns (using fork() and
exec()) N workers, where N is the number of CPU cores you have/tell it to
use. Each worker uses an event loop to serve clients, I've not yet
investigated how work distribution between the workers is done.

With "master_process off" the master process effectively becomes a single
worker, so the answer to your question is serializing.

> Not sure if you posted the link anywhere, but it seems like you 
> incorporated your work into https://github.com/mato/rump-php/
> 
> Are there any observable advantages over the previous httpd?

Well, Nginx is the #3 server used in production on the web. So we're
getting pretty close to an equivalent of a real-world production setup.

Further, Nginx FastCGI implementation does keep-alive so we don't run into
port re-use problems with many TCP connections being opened in succession.

> > So, sans database, we now have a production-quality PHP stack working!
> 
> yay(tm) for the RAP stack ;)

I hope to have an 'M' in there soon.

Have investigated MySQL/MariaDB and it'll be a bit more involved as I have
to elide a bunch of client-specific dependencies I don't care about
(curses, I'm looking at you). Also, MySQL is written in C++, however the
subset of C++ they use should not require a full libstdc++ runtime.

There's also a bunch of deployment things to sort out; the database needs
to be initialised somehow.

I also researched PostgreSQL, this will be problematic as their
architecture is the classic UNIX "fork a process for each connection"
model.

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
rumpkernel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rumpkernel-users

Reply via email to