Tuning a Big Classifieds Site    Enno van AmerongenTechnical Lead @ 2dehands.be
Introduction- Who am I- 2dehands- TTY- Startups: Zwapp.com, EU1.tv, Paypool.com
Tuning a Big Classifieds Site- 3 Year Journey- Consistently Growing- Dev & Ops
Performance KPIs- Availability- Average page load times- Pages per visit per browser- Bounce Rate- User complaints / User ...
Business KPIs- Availability- Unique/returning visitors- Revenue- User complaints / User experience- And much, much more
What did the KPIs say?- Availability problems @ peak time- User Complaints!
Investigate- Server / Cluster statistics using Munin- Manually check servers- Google Analytics- Use tools
Tools- webpagetest.org- Google Pagespeed / Critical Path Explorer- YSlow- Browser tools / plugins
Prioritized Problem Overview- Capacity issues- Barely functioning Image Cluster- Unoptimized Frontend
Solutions- Scale up and out - more servers - more bandwidth - more cores - more disks - more memory
Introduce HTTP Cache using Varnish- Replace frontend load-balancer (pound)- Cache every asset forever- But test it first!
Varnish Gotchas- Use tmpfs for the shared memory file- Do not deploy on the wrong server- Use -smalloc (in memory cache)- ...
Varnish Full Deployment Result- 80% Cache hitrate- 1000s of requests per second- Doesnt break a sweat- No more user compla...
Unoptimized Frontend- No combination of static assets- No minification- No compression of javascript- No asynchronous load...
Minimize requests and filesize- Split head/tail- Combine and minimize css and javascript- Yahoo UI Compressor (or any othe...
Asynchronous script loading/execution- Facebook Connect- Google Analytics- Google Adsense- Others (and still some to do)
The Repeat View
Result- Average pageload ~2.5 sec- No more complaints- Lots more returning visitors- More revenue- Decreased bounce rate
Are we done yet?- Introduce async scriptloader (LABjs or HEADjs)- CSS Sprites- Reduce TTFB on Apache backends- and ...
Still Time?
Memcached vs Redis- Memcached is running great for years- Currently testing Redis- But what about the client?
Any questions?Or contact me: enno@2dehands.be / enno@tty.nl
Thanks for your attention!
2deHands.be - Tuning a Big Classifieds Site
2deHands.be - Tuning a Big Classifieds Site
Upcoming SlideShare
Loading in …5
×

2deHands.be - Tuning a Big Classifieds Site

1,830 views
1,681 views

Published on

2dehands.be is the market leader for classified ads in Belgium.
You don't get to become big without proper performance of your site. In this talk I will focus on the solutions we came up with in terms of frontend performance, which tools are available and how to interpret the results. The second part I will also give insight on backend tools like Varnish, Memcached, Redis. Especially which performance related problems you might encounter when amount of users and pageviews increase.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,830
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2deHands.be - Tuning a Big Classifieds Site

  1. 1. Tuning a Big Classifieds Site Enno van AmerongenTechnical Lead @ 2dehands.be
  2. 2. Introduction- Who am I- 2dehands- TTY- Startups: Zwapp.com, EU1.tv, Paypool.com
  3. 3. Tuning a Big Classifieds Site- 3 Year Journey- Consistently Growing- Dev & Ops
  4. 4. Performance KPIs- Availability- Average page load times- Pages per visit per browser- Bounce Rate- User complaints / User experience
  5. 5. Business KPIs- Availability- Unique/returning visitors- Revenue- User complaints / User experience- And much, much more
  6. 6. What did the KPIs say?- Availability problems @ peak time- User Complaints!
  7. 7. Investigate- Server / Cluster statistics using Munin- Manually check servers- Google Analytics- Use tools
  8. 8. Tools- webpagetest.org- Google Pagespeed / Critical Path Explorer- YSlow- Browser tools / plugins
  9. 9. Prioritized Problem Overview- Capacity issues- Barely functioning Image Cluster- Unoptimized Frontend
  10. 10. Solutions- Scale up and out - more servers - more bandwidth - more cores - more disks - more memory
  11. 11. Introduce HTTP Cache using Varnish- Replace frontend load-balancer (pound)- Cache every asset forever- But test it first!
  12. 12. Varnish Gotchas- Use tmpfs for the shared memory file- Do not deploy on the wrong server- Use -smalloc (in memory cache)- Files never change (LRU works)- Normalize compression
  13. 13. Varnish Full Deployment Result- 80% Cache hitrate- 1000s of requests per second- Doesnt break a sweat- No more user complaints- Faster pageload times
  14. 14. Unoptimized Frontend- No combination of static assets- No minification- No compression of javascript- No asynchronous loading of external scripts
  15. 15. Minimize requests and filesize- Split head/tail- Combine and minimize css and javascript- Yahoo UI Compressor (or any other)- Use compression
  16. 16. Asynchronous script loading/execution- Facebook Connect- Google Analytics- Google Adsense- Others (and still some to do)
  17. 17. The Repeat View
  18. 18. Result- Average pageload ~2.5 sec- No more complaints- Lots more returning visitors- More revenue- Decreased bounce rate
  19. 19. Are we done yet?- Introduce async scriptloader (LABjs or HEADjs)- CSS Sprites- Reduce TTFB on Apache backends- and ...
  20. 20. Still Time?
  21. 21. Memcached vs Redis- Memcached is running great for years- Currently testing Redis- But what about the client?
  22. 22. Any questions?Or contact me: enno@2dehands.be / enno@tty.nl
  23. 23. Thanks for your attention!

×