# Dan Miller - Experimenting With HHVM at Etsy (Highlights)

## Metadata
**Cover**:: https://readwise-assets.s3.amazonaws.com/static/images/article1.be68295a7e40.png
**Source**:: #from/readwise
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Dan Miller]]
**Full Title**:: Experimenting With HHVM at Etsy
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [codeascraft.com](https://codeascraft.com/2015/04/06/experimenting-with-hhvm-at-etsy/)
**Host**:: [[codeascraft.com]]
**Highlighted**:: [[2021-02-21]]
**Created**:: [[2022-09-26]]
## 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 #rl
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