mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-10 13:58:34 +01:00
No description
Summary: We spend a significant amount of time running includes, even with APC. However, we have rigidly structured includes and can safely run them all in workers before requests occur. Right now, requests go like this: - Apache spawns a worker. - Client sends an HTTP request. - Apache interprets it. - Apache sees it's ".php", so it hands it off to the PHP SAPI. - The PHP SAPI starts the PHP interpreter in the worker. - The request is handled, etc. Instead, we want to do this: - Worker spawns and loads the world. - Client sends an HTTP request. - Webeserver interprets it. - Sees it's a ".php", hands it off to the SAPI. - SAPI executes it on a loaded world. No SAPIs I know of support this, but I added support to PHP-FPM fairly easily (in the sense that it took me 6 hours and I have a hacky, barely-working mess). Over HTTP (vs HTTPS) the performance improvement is pretty dramatic. HPHP doesn't significantly defray this cost so we're probably quite a bit faster (to the user) under nginx+PHP-FPM than HPHP after this works for real. I have the php-fpm half of this patch in a messy state, I'm going to try to port it to be vs php 5.4. Test Plan: Ran a patched php-fpm, browsed around, site works, appears dramatically faster. Reviewers: btrahan Reviewed By: btrahan CC: aran, epriestley Differential Revision: https://secure.phabricator.com/D2030 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support/aphlict | ||
webroot | ||
.arcconfig | ||
.divinerconfig | ||
.gitignore | ||
.gitmodules | ||
README |
Phabricator is a open source collection of web applications which make it easier to write, review, and share source code. Phabricator was developed at Facebook. This is an early release. It's pretty high-quality and usable, but under active development so things may change quickly. You can learn more about the project and find links to documentation and resources at: http://phabricator.org/ LICENSE Phabricator is released under the Apache 2.0 license except as otherwise noted. http://www.apache.org/licenses/LICENSE-2.0