On Wed, Sep 20, 2017 at 10:56 PM, Brion Vibber <[email protected]> wrote:
> On Mon, Sep 18, 2017 at 1:58 PM, Max Semenik <[email protected]> > wrote: > > > > > 3) Revert WMF to Zend and forget about HHVM. This will result in > > performance degradation, however it will not be that dramatic: when we > > upgraded, we switched to HHVM from PHP 5.3 which was really outdated, > while > > 5.6 and 7 provided nice performance improvements. > > > > Migrating WMF's implementation to PHP 7 is probably the way to go. I leave > it up to ops to figure out how to make the change. :) > I think this is the more viable option too, mostly not to cause huge issues to non-Wikimedia users. The ease of installation and operation of PHP on most platforms compared to HHVM is incomparable. Just to make an example, I don't remember having to check the code of the VM to understand what an ini setting does with PHP (or even PHP-fpm), while with HHVM that has been a recurring pain, as options come and go without any warning between versions, not to mention the online docs that can even be plainly misleading. At the moment, there is no doubt PHP is a much friendlier environment for any third-party wiki. But I think there is other value in going the PHP7 way; I had actually pitched the idea of switching to PHP7 for some time now, for various reasons, namely: - We use HHVM differently than what Facebook does. For instance, we use the fcgi server mode, and not the pure http one, and we don't run in repoAuth mode. This has brought us new bugs to solve every time we upgrade, as there is no battle testing in production for those code patterns at scale before we use it. - The recent, prolonged difficulty of interaction with the FLOSS community, although acknowledged by the HHVM team as something they're willing to fix, is worrying in itself. - PHP7 has shown performance comparable to HHVM for most PHP shops that migrated. So the single most compelling reason for which we migrated (performance) might not be a factor anymore. Using a runtime readily available (and security-patched) by the upstream distribution would make the ops team lives easier as well. As for the actual migration: I don't think there is any need to panic or rush to a decision, but the timeline is pretty set: by the end of 2018, when official support for HHVM 3.24 will end, any migration should be well underway within the WMF infrastructure. I expect a migration from HHVM to PHP 7 to be a less formidable undertaking than the switch from PHP 5.3 to HHVM - we did repay a good deal t of the tech debt in the Wikimedia Foundation installation back then, and we won't have to change radically the way we serve MediaWiki, as PHP 7 works as a FastCGI server as well. Still, it will take time and resources, and it needs to be planned in advance. One important consequence of the announcement for Wikimedia is that we won't be able to use any version of MediaWiki not compatible with PHP 5.x until we transition to PHP7 (unless we decide to support both HHVM and PHP7). This might be important in steering the timing of the change in MediaWiki itself. Cheers, Giuseppe -- Giuseppe Lavagetto, Ph.d. Senior Technical Operations Engineer, Wikimedia Foundation _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
