Forums / General / Varnish + ESI, looking for feedback

Varnish + ESI, looking for feedback

Author Message

Pablo Pernot

Saturday 02 January 2010 2:51:36 am

Hello all,

I wonder who implements Varnish + ESI support on real life websites and have a feedback about it, especially a focus on : integration versus maintenability, cost/time to integrate ESI.

I read this blog post : (in french) http://www.karlesnine.com/post/2009/07/01/Mes-sites-peole-on-survecu-%C3%A0-la-mort-de-Michael-Jackson. It's an interesting starting point between Squid ICP / Varnish ESI.

Thanks

Happy New Year

See you in Switzerland (I hope).

Pablo

Pablo Pernot
http://www.smartview.fr
http://www.areyouagile.com

Charles Christian Croix

Wednesday 06 January 2010 2:17:32 am

Version:1.0 StartHTML:0000000167 EndHTML:0000002398 StartFragment:0000000449 EndFragment:0000002382

Hello

 

Thank for the link to my blog.

 

About Squid vs Varnish I think is a wrong way to compare both like that because each of them is the solution for a issue .

 

Quickly this is my point of view.

 

If you need a strong reverse proxy architecture with a high capacity, for many différent web sites or service, provided by different technology or cms you dont have a choice: you must use ICP for reduce the number of request to you php servers.

 

If you need a strong reverse proxy architecture with a high capacity, for one web site provided by different technology or back office : you dont have a choice: you must use ESI for compose the page directly on the last stage; the revers proxy servers

 

If you need a strong reverse proxy architecture with a high capacity, for one web site provided with a very high audience: you dont have a choice: you must use ESI for build the site on the static stage: reverse proxy .

  • Varnish provide the ESI
  • Squid 2.7 provide the ICP
  • Squid 3 provide ICP and the ESI

You can imagine different solution:

  1. Use only one of them
  2. Use a stage of many squid, they exchanging their cache by ICP. front of of many single varnish server who compose the web page by ESI
  3. Use directly a stage of Squid 3.x servers

In my experience with eZ publish I was using a stage of many squid revers proxy v2.7 linked by ICP for the cache exchange. Behind them I had differentes php farm who provide different eZ publish web site.

My 2ct

Charles Christian Croix

Wednesday 06 January 2010 4:03:57 am

And you have also Traffic Server. Formerly a commercial product (created by Inktomi, later acquired by Yahoo!)" the reverse proxy solution from Yahoo and now a open source project hosted by the Apache Fondation. Traffic Server supports ICP (Internet Cache Protocol) peering

  • Bloged in french : http://bit.ly/61bf49
  • Traffic server project page : http://bit.ly/3wLotG

My 0,5ct more

Pablo Pernot

Wednesday 06 January 2010 5:11:54 am

Thanks for your feedback, we're obviously in the one web site with high capacity context, so Varnish appears to be the solution, all the more with the eZSI extension. Any caveats about ESI and eZ ?

Merci pour tes retours

Pablo

Pablo Pernot
http://www.smartview.fr
http://www.areyouagile.com

eZ debug

Timing: Jan 17 2025 23:50:55
Script start
Timing: Jan 17 2025 23:50:55
Module start 'content'
Timing: Jan 17 2025 23:50:56
Module end 'content'
Timing: Jan 17 2025 23:50:56
Script end

Main resources:

Total runtime1.1341 sec
Peak memory usage4,096.0000 KB
Database Queries197

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0083 587.7109180.8359
Module start 'content' 0.00831.0248 768.5469560.5781
Module end 'content' 1.03310.1010 1,329.1250336.7500
Script end 1.1341  1,665.8750 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00380.3367210.0002
Check MTime0.00140.1265210.0001
Mysql Total
Database connection0.00080.071010.0008
Mysqli_queries1.064093.82181970.0054
Looping result0.00160.14251950.0000
Template Total1.105697.520.5528
Template load0.00200.179920.0010
Template processing1.103697.309420.5518
Template load and register function0.00010.006710.0001
states
state_id_array0.00090.075310.0009
state_identifier_array0.00080.072720.0004
Override
Cache load0.00170.1462480.0000
Sytem overhead
Fetch class attribute can translate value0.00110.097330.0004
Fetch class attribute name0.00110.100650.0002
XML
Image XML parsing0.00070.064530.0002
class_abstraction
Instantiating content class attribute0.00000.000960.0000
General
dbfile0.00280.2496270.0001
String conversion0.00000.000530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/li.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/li.tplEdit templateOverride template
2content/datatype/view/ezxmltags/ul.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/ul.tplEdit templateOverride template
1content/datatype/view/ezxmltags/ol.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/ol.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 21
 Number of unique templates used: 8

Time used to render debug report: 0.0001 secs