# Dan Miller - Experimenting With HHVM at Etsy (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article1.be68295a7e40.png) ## Highlights - HipHop Virtual Machine (HHVM) is an open-source virtual machine designed for executing programs written in PHP. - Ilya Grigorik’s “Breaking the 1000ms Time to Glass Mobile Barrier” #further-reading #further-reading https://www.youtube.com/watch?v=Il4swGfTOSM - Bespoke endpoints aggregate smaller, reusable, cacheable REST endpoints. - Bespoke endpoints don’t just fetch data on behalf of the client, they can also do it concurrently. - It can do this thanks to curl_multi. Matt Graham’s talk “Concurrent PHP in the Etsy API” from phpDay 2014 goes into more detail on how we use curl_multi. [curl_multi](http://php.net/manual/en/function.curl-multi-exec.php) https://vimeo.com/channels/phpday/104905610 - We wanted to verify that responses returned from HHVM were identical to those returned by PHP. - we also turned to another technique: teeing traffic. - We wrote an iRule on our f5 load balancer to clone HTTP traffic destined for one pool and send it to another. - HHVM optimizes CPU time, not IO time. - The HHVM team recommends that you warm up your HHVM process before having it serve production traffic https://github.com/facebook/hhvm/wiki/Performance-Tuning#warm-up-your-server---10