Hi!

> There are situations where FPM/FCGI are not appropriate, or the server
> used does not support NTS (Apache windows for example, when fcgi is
> not an option).

Why Apache can't use FCGI? There's no proper driver os something in
Apache architecture prevents it from using FCGI?

> No. My idea is to replace it with LTS (thread local storage) which
> drastically reduce the thread safety issues due to its exact nature,

I'm not sure it will. Our threading issues mainly related to libraries
using global context and either not protecting it at all (e.g. ICU uses
- or at least did couple of years ago - some global variables as caches
which are locale-dependent, and once these cache vars are set, it's
almost impossible to change and it leads to context leaking between
threads) or protecting it improperly so that we get race conditions or
crashes. Moving our data to LTS would make our part faster but won't
make these libraries work better.

> The other main reason from my side to keep ZTS is Windows. Windows
> cannot perform well using process based SAPI. It won't match linux as

I don't see why. With proper prefork model, cost of process creation
does not matter too much, and I've seen decent performance results with
FCGI. Actually, IIRC, performance hit from ZTS is more than performance
hit from multiprocess model. There are other things that make windows
performance lag (Unicode APIs and filesystem being one of the factors,
for example) but I do not think process model is a major factor here.

> promising, given that it is still only a proof of concepts. Having an
> ISAPI also allows a tighter integration to IIS8 (pipelines, auths,
> scripting, etc.), which is not possible to do now using fastcgi (no
> direct access but using RMI or the IIS shell, but horrible, in all
> possible ways).

This is true, however I am not convinced it should be in PHP as opposed
to separate user modules... If you'd want to run PHP code in IIS
pipeline, I imagine performance-wise it would be expensive - setting up
PHP request is not a cheap thing, compared to what auth stage usually does.

-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to