6 ms·
Another former developer here [1][2]; the memcached cluster is what keeps the entire thing afloat. We used to have dedicated 50 Gbps fiber connections straight
by nitrix 6y ago
Another former developer here [1][2]; the memcached cluster is what keeps the entire thing afloat.
We used to have dedicated 50 Gbps fiber connections straight between the web and memcached nodes, but now the caching is done locally on the web servers with a lot more of them. I would say there's probably something like 100+ servers, 128/256GB RAM each.
All the pages are server-side rendered. Every DB query, every DAO object instantiated, every partial/full page HTML render, even some functions at times, gets put into cache. We weren't really afraid of high traffic, that scaled almost on its own... instead we were afraid of infrastructure maintenance or bad manipulations, because too much of the cache could disappear at once.
The most incredible part to me was the storage and delivery of the video content. Try to picture 7000 petabytes [3] :)
[1] https://www.pornhub.com/humans.txt https://www.pornhub.com/humans.txt
[2] https://github.com/nitrix https://github.com/nitrix
[3] https://www.pornhub.com/insights/2019-year-in-review https://www.pornhub.com/insights/2019-year-in-review
- Mikushi 6y ago> All the pages are server-side rendered I should add that this wasn't out of optimisation, just "old-school" PHP+Html with an MVC framework to serve the rendered page. Still can't beat that in my view. > The most incredible part to me was the storage and delivery of the video content That was the fun bit, I still remember the logistic of opening a new origin for the CDN back in 2010 (11 maybe?). Flying hard drives, can't beat that bandwidth. (Former developer here as well, however from before this humans.txt was introduced)
- Throwaway958 6y agoFormer Ashley Madison here with basically the same tech stack.
- deleted 6y ago[deleted]
- neoform 6y agoHello fellow former PH dev. ;)
- dormando 6y agoAt risk of making a useless comment: "nice". Local memcached's? local caches or still distributed cache?