[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
