SlideShare une entreprise Scribd logo
1  sur  28
1
•
•
•
•
•
•
•
•
•
•
•
6
•
•
•
•
•
•
•
•
•
17
•
•
•
•
•
•
•
•
•
•


•
•
•
•
/photoserver/thumb/12345.jpg /photoserver/thumb/345/12345.jpg
/photoserver/thumb/45/12345.jpg /photoserver/thumb/345/12345.jpg
/photoserver/full/12345.jpg /photoserver/full/345/12345.jpg
/photoserver/45/12345_full.jpg /photoserver/full/345/12345.jpg
/photoserver/lv/0/1234500.jpg /photoserver/lv/500/1234500.jpg
•
•
•
•
Trade me use case

Contenu connexe

Tendances

ימי הערכות תשעג יהודה פרנקל
ימי הערכות תשעג   יהודה פרנקלימי הערכות תשעג   יהודה פרנקל
ימי הערכות תשעג יהודה פרנקלנטע לב
 
150630 투자유치제안서 텔라(v0.8)
150630 투자유치제안서 텔라(v0.8)150630 투자유치제안서 텔라(v0.8)
150630 투자유치제안서 텔라(v0.8)Yuha Jin
 
Building a Social Agency
Building a Social AgencyBuilding a Social Agency
Building a Social AgencyArgyle Social
 
الأزمة المالية و العرب
الأزمة المالية و العربالأزمة المالية و العرب
الأزمة المالية و العربAdel Odeh
 
Slide conferenza stampa 28-12-2012
Slide conferenza stampa 28-12-2012Slide conferenza stampa 28-12-2012
Slide conferenza stampa 28-12-2012comunece
 
Ep4 elektronsko poslovanje analiza poslovnih modela kineskih kompanija
Ep4 elektronsko poslovanje   analiza poslovnih modela kineskih kompanijaEp4 elektronsko poslovanje   analiza poslovnih modela kineskih kompanija
Ep4 elektronsko poslovanje analiza poslovnih modela kineskih kompanijaMiodrag Vujkovic
 
2015-02-24 Cybertraps for Educators
2015-02-24 Cybertraps for Educators2015-02-24 Cybertraps for Educators
2015-02-24 Cybertraps for EducatorsFrederick Lane
 
2018-03-07 Cyber Security and Information Literacy (Session Three)
2018-03-07 Cyber Security and Information Literacy (Session Three)2018-03-07 Cyber Security and Information Literacy (Session Three)
2018-03-07 Cyber Security and Information Literacy (Session Three)Frederick Lane
 
An empirically-derived taxonomy of interaction primitives for Interactive Car...
An empirically-derived taxonomy of interaction primitives for Interactive Car...An empirically-derived taxonomy of interaction primitives for Interactive Car...
An empirically-derived taxonomy of interaction primitives for Interactive Car...reroth
 
2020 05 22 eomys_engineering_vibroacoustic
2020 05 22 eomys_engineering_vibroacoustic2020 05 22 eomys_engineering_vibroacoustic
2020 05 22 eomys_engineering_vibroacousticEOMYS ENGINEERING
 
とあるBtoB企業でGoを使ってみた話
とあるBtoB企業でGoを使ってみた話とあるBtoB企業でGoを使ってみた話
とあるBtoB企業でGoを使ってみた話Aiga Matsuo
 
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...Lastensuojelun Keskusliitto
 
打坐入門(一)
打坐入門(一)打坐入門(一)
打坐入門(一)宏 恆
 
Wr#02 air pollution
Wr#02 air pollutionWr#02 air pollution
Wr#02 air pollutionkazerie
 
Facebook Marketing – und was ist mit der Compliance? #AFBMC
Facebook Marketing – und was ist mit der Compliance? #AFBMCFacebook Marketing – und was ist mit der Compliance? #AFBMC
Facebook Marketing – und was ist mit der Compliance? #AFBMCAllFacebook.de
 
Зачем на самом деле клиенты приходят на ваш сайт
Зачем на самом деле клиенты приходят на ваш сайтЗачем на самом деле клиенты приходят на ваш сайт
Зачем на самом деле клиенты приходят на ваш сайтJulia Yakovleva
 
New Media Drivers License Final Presentation
New Media Drivers License Final PresentationNew Media Drivers License Final Presentation
New Media Drivers License Final PresentationJustin Costeiu
 
Power factor
Power factorPower factor
Power factorali raza
 

Tendances (20)

ימי הערכות תשעג יהודה פרנקל
ימי הערכות תשעג   יהודה פרנקלימי הערכות תשעג   יהודה פרנקל
ימי הערכות תשעג יהודה פרנקל
 
150630 투자유치제안서 텔라(v0.8)
150630 투자유치제안서 텔라(v0.8)150630 투자유치제안서 텔라(v0.8)
150630 투자유치제안서 텔라(v0.8)
 
Building a Social Agency
Building a Social AgencyBuilding a Social Agency
Building a Social Agency
 
الأزمة المالية و العرب
الأزمة المالية و العربالأزمة المالية و العرب
الأزمة المالية و العرب
 
Slide conferenza stampa 28-12-2012
Slide conferenza stampa 28-12-2012Slide conferenza stampa 28-12-2012
Slide conferenza stampa 28-12-2012
 
How to measure usabiliy no animation
How to measure usabiliy   no animationHow to measure usabiliy   no animation
How to measure usabiliy no animation
 
Ep4 elektronsko poslovanje analiza poslovnih modela kineskih kompanija
Ep4 elektronsko poslovanje   analiza poslovnih modela kineskih kompanijaEp4 elektronsko poslovanje   analiza poslovnih modela kineskih kompanija
Ep4 elektronsko poslovanje analiza poslovnih modela kineskih kompanija
 
2015-02-24 Cybertraps for Educators
2015-02-24 Cybertraps for Educators2015-02-24 Cybertraps for Educators
2015-02-24 Cybertraps for Educators
 
2018-03-07 Cyber Security and Information Literacy (Session Three)
2018-03-07 Cyber Security and Information Literacy (Session Three)2018-03-07 Cyber Security and Information Literacy (Session Three)
2018-03-07 Cyber Security and Information Literacy (Session Three)
 
An empirically-derived taxonomy of interaction primitives for Interactive Car...
An empirically-derived taxonomy of interaction primitives for Interactive Car...An empirically-derived taxonomy of interaction primitives for Interactive Car...
An empirically-derived taxonomy of interaction primitives for Interactive Car...
 
2020 05 22 eomys_engineering_vibroacoustic
2020 05 22 eomys_engineering_vibroacoustic2020 05 22 eomys_engineering_vibroacoustic
2020 05 22 eomys_engineering_vibroacoustic
 
とあるBtoB企業でGoを使ってみた話
とあるBtoB企業でGoを使ってみた話とあるBtoB企業でGoを使ってみた話
とあるBtoB企業でGoを使ってみた話
 
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...
Kirsi Hokkila: Nuorten hoivaajien psykososiaalinen kehitys ja siirtymät kehit...
 
打坐入門(一)
打坐入門(一)打坐入門(一)
打坐入門(一)
 
Wr#02 air pollution
Wr#02 air pollutionWr#02 air pollution
Wr#02 air pollution
 
Facebook Marketing – und was ist mit der Compliance? #AFBMC
Facebook Marketing – und was ist mit der Compliance? #AFBMCFacebook Marketing – und was ist mit der Compliance? #AFBMC
Facebook Marketing – und was ist mit der Compliance? #AFBMC
 
Зачем на самом деле клиенты приходят на ваш сайт
Зачем на самом деле клиенты приходят на ваш сайтЗачем на самом деле клиенты приходят на ваш сайт
Зачем на самом деле клиенты приходят на ваш сайт
 
New Media Drivers License Final Presentation
New Media Drivers License Final PresentationNew Media Drivers License Final Presentation
New Media Drivers License Final Presentation
 
Ground Floor Business
Ground Floor BusinessGround Floor Business
Ground Floor Business
 
Power factor
Power factorPower factor
Power factor
 

Plus de Varnish Software (20)

Ask Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in VarnishAsk Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in Varnish
 
Boozt.com Use Case
Boozt.com Use CaseBoozt.com Use Case
Boozt.com Use Case
 
Akamai connector for varnish
Akamai connector for varnishAkamai connector for varnish
Akamai connector for varnish
 
Varnish High Availability
Varnish High AvailabilityVarnish High Availability
Varnish High Availability
 
PostNord: Copy On Write
PostNord: Copy On WritePostNord: Copy On Write
PostNord: Copy On Write
 
Varnish extend
Varnish extendVarnish extend
Varnish extend
 
Streaming with Varnish
Streaming with VarnishStreaming with Varnish
Streaming with Varnish
 
Edgestash
EdgestashEdgestash
Edgestash
 
What is new in varnish plus
What is new in varnish plusWhat is new in varnish plus
What is new in varnish plus
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
 
Varnish extend introduction
Varnish extend introductionVarnish extend introduction
Varnish extend introduction
 
Cedexis introduction
Cedexis introductionCedexis introduction
Cedexis introduction
 
Secure content caching
Secure content cachingSecure content caching
Secure content caching
 
Microservices
MicroservicesMicroservices
Microservices
 
Varnishtest
VarnishtestVarnishtest
Varnishtest
 
Lightning fast with Varnish
Lightning fast with VarnishLightning fast with Varnish
Lightning fast with Varnish
 
E-commerce use case
E-commerce use caseE-commerce use case
E-commerce use case
 
Access control
Access controlAccess control
Access control
 
Varnish TLS
Varnish TLSVarnish TLS
Varnish TLS
 
MSE
MSEMSE
MSE
 

Trade me use case

Notes de l'éditeur

  1. We’ve been a user of Varnish since v2.0.1 (sometime before 2011?) Even though we only use Varnish in a couple of niche places, it’s extremely flexible and we get good use out of it
  2. We’ve been around since 1999. We try to keep our site fast, we host in 2 NZ locations and are generally running on pretty reliable infrastructure. We aren’t tied to any particular vendor or product, we use the best tool for the job. We moved away from proprietary caching appliances to Varnish, and haven’t looked back.
  3. Our site relies heavily on images. Our members upload 20+ images every second, and at peak times we serve 10,000 image requests per second. Because they are static, we can normalise requests and cache them heavily.
  4. How we use Varnish to integrate an off the shelf CMS with our main website, trademe.co.nz
  5. Examples are: help pages, policies (T&Cs), advertising rates etc, some areas wanted a blog. Which CMS we use isn’t important, we went with an open source .NET CMS, but it could be anything.
  6. Kinda hard to describe the header/footer thing, might be easier to show what a dynamic header looks like
  7. The header has a number of dynamic elements, some of which may not be obvious We did try to recreate it with static content, but it wasn’t satisfactory
  8. Load balancer sends request to webserver. Page is header & content & footer
  9. When the load balancer detects the URL is for one of the CMS areas, it directs traffic to the Varnish server. Varnish config is light, basically minimal caching, with ESI enabled. Varnish backend is the CMS server CMS page content includes ESI tags for header and footer, which are on the main site
  10. When the load balancer detects the URL is for one of the CMS areas, it directs traffic to the Varnish server. Varnish config is light, basically minimal caching, ESI enabled. Varnish backend is the CMS server CMS page content includes esi tags for header and footer, which are on the main site
  11. Here it is in action. Can you see the joins? 
  12. We have around 11m unique images, stored in 9 sizes in 2 redundant locations = ~200m files Files were in 100 dirs. on disk (around 100,000 per dir) – storage vendor’s recommendation is to keep it under 20k objects per directory(!) We had performance problems, even with our high cache hitrates.
  13. We have around 11m unique images, stored in 9 sizes in 2 redundant locations = ~200m files Files were in 100 dirs. on disk (around 100,000 per dir) – storage vendor’s recommendation is to keep it under 20k objects per directory(!) We had performance problems, even with our high cache hitrates.
  14. Image IDs are incremental integers, allocated on upload.
  15. Activation was based around a trigger image ID. This was forecasted and agreed upon (and tested before we got to Prod). In the event, we had to change it at the last minute anyway  The main stuff we were concerned about was missing some code – eg an API edge case for a mobile app.
  16. This bit contains Regex. Even when you are staring at them, sometimes it takes a while to process what you’re looking at. I’ll try to explain… if I do a bad job, you can hopefully get the idea.
  17. I use Regex Buddy. Life is too short to accurately understand regex yourself.
  18. Again, the main idea is to catch all requests for image IDs > threshold value and ensure they are sent to the backend with the 3 digit directory in them. Also we tidy up the FULL size requests and log everything to Varnishlog.
  19. We call the sub first
  20. Private cloud – we should have enough capacity to do this. We’re doing this for all apps and services. Object (S3-like) storage – solves metadata issues, redundancy, resilience, management and others. API – we currently use something similar, which we have written ourselves. We’re at the point of looking at alternatives. Currently we use PRTG and Cacti for stats, manual management of our small number of servers. We did use VAC for a period and are thinking it’s something we should do again.