Expressionengine Caching And Best Practices For Performance-Books Pdf

ExpressionEngine Caching and Best Practices for Performance
23 Sep 2020 | 0 views | 0 downloads | 18 Pages | 288.07 KB

Share Pdf : Expressionengine Caching And Best Practices For Performance

Download and Preview : Expressionengine Caching And Best Practices For Performance

Report CopyRight/DMCA Form For : Expressionengine Caching And Best Practices For Performance



Transcription

ExpressionEngine Caching and Best Practices for Performance. Table Of Contents, Introduction 3, ExpressionEngine Native Caching 3. Tag Caching 3, Template Caching 4, Dynamic Channel Query Caching 4. Query Disabling 4, Clearing the Cache 4, Debugging Tools 5. Utilize Tag Caching Effectively 5, Tag Caching Examples 6. Utilize Template Caching Where it Makes Sense 7, Maximum Number of Cachable URIs 7.
Benchmarking ExpressionEngine 7, Testing Environment 8. Benchmarking ExpressionEngine with Template Caching 9. ExpressionEngine Template Caching with the Nexcess Memcache Patch 10. CE Cache 12, Caching with Varnish 14, ExpressionEngine Clustering and Caching Considerations 16. Database Configuration 16, Conclusions and Additional Performance Recommendations 17. Appendix A System Configurations 18, Appendix B Benchmarking Configurations 18. Copyright 2000 2013 Nexcess net LLC All Rights Reserved 2. This work is licensed under a Creative Commons Attribution NonCommercial NoDerivs 3 0 Unported License. ExpressionEngine Caching and Best Practices for Performance. Introduction, ExpressionEngine is a very powerful dynamic modular content management system developed by EllisLab Out.
of the box the performance of ExpressionEngine can be very effective at delivering dynamic content to users. although as with most dynamic web applications performance can become degraded as the site grows in. both traffic and size without further tuning This whitepaper will detail some methods on how to scale Expres. sionEngine, This whitepaper is oriented towards developers or system administrators with experience using Expres. sionEngine and those who are looking to further increase the capacity and performance of their Expres. sionEngine site Throughout years of experience of working with ExpressionEngine at Nexcess we have outlined. the differences between certain best practice configurations along with recommendations for running extreme. ly high traffic ExpressionEngine sites effectively. Because ExpressionEngine is a modular content management system and no two sites are alike simulating. real world conditions while benchmarking can be difficult Considering that the caching options available to. ExpressionEngine are flexible and personal preference often plays a role trade offs will always need to be made. with respect to how dynamic the site s content should be versus the site s overall performance The configu. ration settings and benchmarks contained in this whitepaper are simply meant to be a baseline for optimally. tuning ExpressionEngine Lower traffic sites will perform adequately with minimum caching but as sites grow. in popularity and traffic increases it may be necessary to implement more elaborate caching strategies to keep. page load times low and the number of concurrent visitors as high as required. All system level configuration files are provided via our github account and show the exact system settings and. application configuration parameters used All benchmark application test configurations are also provided to. show exactly how each test was run and how if necessary each can be reproduced. We welcome your input and feedback Any questions or comments may be directed to eecms whitepaper. nexcess net, ExpressionEngine Native Caching, One of the benefits of ExpressionEngine is that it can render pages extremely fast out of the box Without any. caching enabled every item on every page is rendered dynamically on each page load and this works adequate. ly for low traffic sites and or pages with a very small footprint However when traffic begins to rise what will. follow is much longer page load times and much higher overall server load A single dynamic page with a lot. of content can have well over 100 MySQL queries executed alone per page view To help combat this Expres. sionEngine has several different internal caching mechanisms that can be utilized. Tag Caching, Tag caching within ExpressionEngine allows you to cache specific tags within a template that may not need to. be queried on every page load Use tag caching on pages where some content must remain dynamic but other. less dynamic data can be cached via tag caching Tag caching can significantly help performance both in page. load time and overall system server load Some examples of effective tag caching are listed within this whitepa. per When using tag caching cached data will be written to the cache tag cache directory on disk. 3 Copyright 2000 2013 Nexcess net LLC All Rights Reserved. This work is licensed under a Creative Commons Attribution NonCommercial NoDerivs 3 0 Unported License. ExpressionEngine Caching and Best Practices for Performance. Template Caching, ExpressionEngine Template caching allows you to cache entire templates pages Use template caching on. pages where you can afford to have all content within the template cached Template caching can also signifi. cantly increase performance beyond that of tag caching given that more data is coming from the cache and less. work must be done by the system for each template served The downside of template caching is that it is less. granular that is elements within the page will not be dynamically queried on each page load and may become. stale Note that template caching has a higher precedence than tag caching meaning that cached tags within a. template are ignored Given that the entire template itself is being served from a cached resource this should. not be a problem When using template caching data will be written to the cache page cache directory on disk. Dynamic Channel Query Caching, Dynamic channel query caching allows ExpressionEngine to cache query results to disk within the exp chan.
nel entries tag that would otherwise be run dynamically Typically we do not recommend the use of query. caching as we have not found it not to offer any performance benefit in most circumstances Normally the query. cache built into MySQL performs the same function if enabled and is memory based which can outperform. the ExpressionEngine query cache ExpressionEngine s dynamic query caching also cannot be used if any of the. future entry expiring entry or random entry features are enabled on your site. Query Disabling, While not a method of caching in itself ExpressionEngine Query Disabling is a good technique that can be used. to improve performance By using the disable parameter within a tag you can remove portions of the tag that. you do not need that would otherwise be used to construct a query thus decreasing the complexity of the. query There are five items that can be disabled categories category fields custom fields member data and. pagination, Clearing the Cache, There are several circumstances where the cache will be cleared within ExpressionEngine either forcefully or by. user control The cache will be cleared when, 1 You manually clear it via the admin Clear Cached Data option. 2 The cache directory files are manually deleted via command line. 3 The maximum number of cachable URIs limit is reached forcing a flush. 4 When comments are posted Note that the entire cache is not flushed on this operation only the specif. ic cached file based on its URI, When working with ExpressionEngine some care must be maintained within the admin section as many oper. ations can inadvertently clear the cache Doing these certain operations during peak traffic can cause serious. performance problems for a busy ExpressionEngine site Full lists of these operations are available within the. EllisLab documentation but note that most operations that create modify or delete a template group catego. ry or entry will forcefully clear the cache, Copyright 2000 2013 Nexcess net LLC All Rights Reserved 4.
This work is licensed under a Creative Commons Attribution NonCommercial NoDerivs 3 0 Unported License. ExpressionEngine Caching and Best Practices for Performance. Debugging Tools, To assist with locating and addressing problematic slow pages on your site EllisLab has included two very useful. debugging tools within ExpressionEngine namely the Output Profiler and Template Debugger Both of these. debuggers can be enabled under the Output and Debugging options within the admin section. The Output Profiler will provide blocks of debugging information below your normally displayed pages after. they are rendered These pages will only be available for viewing by the admin account when the admin is. logged into the ExpressionEngine backend This guarantees no privileged information will be leaked to normal. visitors on the site while the Output Profiler is enabled Once enabled you will be able to see page load time. benchmarks GET POST data session data and most importantly all database queries executed including the. time taken for each one to complete This is a great tool for locating slow and problematic queries. Similar to the Output Profiler the Template Debugger will add additional template parse order information to. the bottom of each rendered page for the admin user The Template Debugger will also show the order in which. templates are being processed and provide further information including time to process and memory usage. There are other means to discover slow queries in addition to the Output Profiler The MySQL slow query log will. provide further insight into longer duration queries In addition using tools like PHPmyAdmin mytop or other. MySQL process interrogation tools lets you peer into the live MySQL query flow for further debugging Correlat. ing problem queries with those shown in the Output Profiler and Template Debugger allows for easy targeting. Utilize Tag Caching Effectively, If you notice certain pages within your ExpressionEngine site are loading slowly or if your site is not performing. as fast as you would like when there is significant traffic on it then tag caching may be the solution. Simply use the Output Profiler or other tools to look for MySQL queries that are taking a long time to execute. more than of a second or less on occasion is too long Usually these queries will contain non cachable oper. ators and functions such as RAND UNIX TIMESTAMP and NOW Because these queries generate completely. unique values on every query they result in queries that are always different are ultimately not cachable by the. MySQL query cache If these queries exist on a page or even a specific tag that is loaded on every page load. performance will be significantly lower due to every query having to be processed by MySQL instead of pulled. from a cache, There are at least two ways to get around this issue The first is to modify the query so that its uniqueness is. mitigated to some degree Often a small change and yield big results If we take the UNIX TIMESTAMP func. tion for example we can illustrate a possible solution UNIX TIMESTAMP s resolution is to the second and you. may not always need the type of resolution that these functions provide Massaging the output UNIX TIME. STAMP to have resolution to the minute or 5 minutes can yield very cachable queries that don t take away from. the user experience whatsoever The second possible solution is to cache the tag responsible for the query that. is let the query remain unaltered but cache its result so that future uses of the tag will have the value cached. When using this method the initial query will still be slow to load but its results will now be cached greatly in. creasing performance of any further use of the tag within the page. 5 Copyright 2000 2013 Nexcess net LLC All Rights Reserved. This work is licensed under a Creative Commons Attribution NonCommercial NoDerivs 3 0 Unported License. ExpressionEngine Caching and Best Practices for Performance. Tag Caching Examples, Here are a few examples of common queries that can cause severe slowdowns under high traffic within Expres. sionEngine without proper tag caching It should be noted that these queries are being run on a test database. of 100 000 entries in the exp channel titles table This is atypical of the average ExpressionEngine user but very. normal for a busy news outlet Both of these queries appear directly within the Output Profiler The first is a que. ry that appears from the Archive Month Links tag, SELECT DISTINCT YEAR FROM UNIXTIME entry date 0 AS year.
MONTH FROM UNIXTIME entry date 0 AS month, FROM exp channel titles. WHERE entry id AND, site id IN 1 AND, exp channel titles entry date 1369323496 AND. exp channel titles expiration date OR, exp channel titles expiration date 1369323496 AND. channel id 1 AND, status open, ORDER BY entry date desc LIMIT 50. Running this query manually results in an execution time of 41 seconds which is an eternity in MySQL time. While the initial run of this query may not be instantaneous subsequent queries should be if we were able to. cache this query s results The unique timestamps with resolution to the second within it are causing the issues. Since every instance of the query is unique the MySQL query cache cannot cache it and under heavy traffic a. simple single query like the one above can cause database server load to skyrocket and page responsiveness to. plummet One solution is to use tag caching for the tag that this query is originating from Even caching it with a. lifetime of only minutes will save thousands of queries and seconds of time per page load on a busy site. Here is another example query from the Channel Entries tag. SELECT t entry id, FROM exp channel titles AS t, LEFT JOIN exp channels ON t channel id exp channels channel id.
ExpressionEngine is a very powerful dynamic modular content management system developed by EllisLab Out of the box the performance of ExpressionEngine can be very effective at delivering dynamic content to users although as with most dynamic web applications performance can become degraded as the site grows in both traffic and size without further tuning This whitepaper will detail some

Related Books

Les microcontr leurs dans les nouveaux programmes de

Les microcontr leurs dans les nouveaux programmes de

1 Fritzing 2 Exemple de contr le en classe 3 Organisation mat rielle 4 D roulement d une activit exp rimentale 5 Difficult s g rer 6 Organisation de l activit exp rimentale en fonction de la classe 7 Evaluations activit exp rimentale maison classe 8 Liens

Using the Adafruit Library with Fritzing

Using the Adafruit Library with Fritzing

Parts in the Adafruit Fritzing Library work exactly like other Fritzing parts and you can use them with parts from other libraries as well The image above shows an example circuit a barometric logger with a 7 segment readout

Fritzing projet eu org

Fritzing projet eu org

Fritzing et que celui ci ne peut pas tre cr en utilisant un g n rique generic part vous devez recourir l diteur de composants de Fritzing Avant d employer l diteur de composants en repartant du d but r fl chissez s il n est pas possible de r utiliser tout ou partie du graphisme d une des pi ces existantes Dans ce cas effectuez les modifications et

MULHERES QUE CORREM COM OS LOBOS

MULHERES QUE CORREM COM OS LOBOS

CLARISSA PINKOLA EST S Ph D Cheyenne Wyoming 7 INTRODU O Cantando sobre os ossos A fauna silvestre e a Mulher Selvagem s o esp cies em risco de extin o Observamos ao longo dos s culos a pilhagem a redu o do espa o e o esmagamento da natureza instintiva feminina Durante longos per odos ela foi mal gerida semelhan a da fauna silvestre e das florestas virgens H

Nos echamos unas risas

 Nos echamos unas risas

Stop novela de amor Fernando FERN N G MEZ Espasa Sufro bucho Mill n SALCEDO Temas de hoy Sus p ginas mejores JulioCAMBA Espasa Calpe Talib n en La Jaralera aventuras del mar qu s de Sotoancho Alfonso USS A Ediciones B Te quiero personalmente EL GRAN WYOMING Anagrama Temible Blott El Tom SHARPE Anagrama Terapia David LODGE Anagrama

LES SEPT FLAMMES webagoo eu

LES SEPT FLAMMES webagoo eu

Cha ne des montagnes du Grand T ton Wyoming Etats Unis Autres Ma tres servant le Deuxi me Rayon Gautama Bouddha Seigneur Maitreya Sananda J sus Ma tre Kuthumi Confucius Archange du Deuxi me Rayon et sa contrepartie divine Jophiel et Christine Leurs retraites Sud de la grande muraille de Chine amp le Temple d Illumination Dieu D esse Meru Ile du Soleil Lac Titicaca

Mar a G mez Bellido 4 B Brian Morales Brito 4 A

Mar a G mez Bellido 4 B Brian Morales Brito 4 A

Wyoming y durante su juventud fue un muchacho conflictivo siendo expulsado de varios colegios e institutos hasta que se traslad a Nueva York donde estudi en el Art Students League y comenz a codearse con las m s importantes figuras vanguardistas del arte del momento En su obra empleaba una t cnica gestual para pintar del modo m s directo posible para poner m s de s mismo de

Emily Hind University of Wyoming College of Liberal Arts

Emily Hind University of Wyoming College of Liberal Arts

Pita Amor Sabina Berman and Antonio Serrano Camp in DF Emily Hind University of Wyoming Camp in Mexico does not necessarily represent a nationalist aesthetic even though it often finds inspiration in Mexican celebrities Mexican female impersonators favor stars like Mar a F lix and Irma Serrano while the more intellectual camp performers Astrid Hadad and Jesusa Rodr guez often satirize

SF 650 650P M K Electronic

 SF 650 650P M K Electronic

Parts Catalog SF 650 650P Samsung Electronics Service Manual HANDSET Parts List SA SERVICE AVAILABLE SNA SERVICE not AVAILABLE Drawer SEC Code Description QT y Service Remark 0 JC96 05367A ELA UNIT HANDSET 1 SA 1 3009 001028 AUDIO RECEIVER 1 SNA 2 6044 000138 RING OP 1 SNA Drawer SEC Code Description QT y Service Remark 3 JB63 00145Q COVER HANDSET LOWER 1 SNA 4 JB63 00189J COVER

Record Keeping for a Small Business

Record Keeping for a Small Business

Record Keeping for a Small Business Participant Guide Money Smart for a Small Business Curriculum Page 6 of 18 Keep Good Records The term record keeping refers to the orderly and disciplined practice of storing business records Record keeping is one of your most important responsibilities as a small business owner

Business Plan cpb us w2 wpmucdn com

Business Plan cpb us w2 wpmucdn com

Business Plan 2012 Cape Flats Honey amp Bee Services Issued 13 December 2011 Abel Abelse General Manager 21 0 76677894 capeflatshoney gmail com