Tech:MediaWiki appserver

MediaWiki application servers is a name given to a stack of software which runs the actual wikis. The application stack is made up of:
 * MediaWiki
 * HHVM
 * nginx

MediaWiki


nginx


HHVM
HHVM (HipHop Virtual Machine) is a JIT compiler produced by Facebook. Miraheze uses it as the compiler for MediaWiki in order to speed up execution time. HHVM at Miraheze works under low memory conditions and as such, it is possible it can become a victim of Linux Out of Memory issues or can crash due to fatal PHP stack traces.

In the result HHVM fails, firstly restart it to minimise user impact and then determine the cause of the failure by using logs, /tmp/ stack traces or syslog. If the cause is:
 * OOM: Try and evaluate if the issue was irregular, a spike or a predictable load. If the spike seems irregular, notify someone who has root access to look into the issue in more depth or look into it yourself.
 * Fatal stacktrace: Isolate the action that cause the stacktrace and see if the issue could be MediaWiki, a one off or a possible HHVM bug. From there, notify others and start a discussion on how to deal with the issue.
 * Other: Look into the issue and notify others.