SlideShare a Scribd company logo
The Need for Speed
- How to make your site REALLY fast! -


 http://gdig.de/sydney2
                                            Sydney, April 2013



  Bastian Grimm, Managing Partner - Grimm Digital - @basgr
About me


SEO Trainings, Seminars & Strategy Consulting




WordPress Security, Consulting & Development



                                                         @basgr
Berlin-based Full-Service Performance Marketing Agency



                                                                  2
Get the Slide-Deck




             http://gdig.de/sydney2
Read the full story here: http://gdig.de/1o

Recommended for you

Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability

In this session we will present an overview from the point of view 'system that implementative on how to get the best performance from your drupal application. We will also show examples of use cases for drupal scalable infrastructure.

drupalperformancewebdev
HTML5
HTML5HTML5
HTML5

This document provides an overview of HTML5 and what's new in the latest version. It discusses new semantic elements like <header>, <nav>, and <article> that improve document outlining. It also covers new multimedia features like native audio and video playback without Flash, as well as 2D/3D graphics using <canvas>. Other additions include new form controls, multiple file uploading, and geolocation. While HTML5 brings many new features, it is an ongoing evolution of HTML rather than a completely new language.

podcamphfxweb standardsweb design
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design

This document summarizes Christopher Schmitt's presentation on adaptive images in responsive web design. It discusses using feature testing versus browser sniffing to determine the appropriate image to serve, including testing browser width, screen resolution, and bandwidth. It then covers various techniques for serving adaptive images, such as using .htaccess files, the <picture> element, srcset attributes, and JavaScript libraries. It emphasizes using a mobile-first approach and progressive enhancement to provide the best experience for all devices.

html5cssresponsive web design
“We encourage you to start
looking at your site's speed - not
only to improve your ranking
in search engines, but also to
improve everyone's experience
on the Internet.”
- Amit Singhal & Matt Cutts, Google Search Quality Team
One (simple) goal only:
Make your site as fast as you can!



                  Can you get, what Amazon got?
                1%+ in revenue for every
                   100 ms in speed.
                  Amazon study: http://gdig.de/amzn100
Web-based performance analysis
  using the „Google factors”..




         https://developers.google.com/pagespeed/
Detailed in-browser
performance analysis
  (req. Firebug Add-on)

Recommended for you

Hyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris ZachariasHyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris Zacharias

The average website loads over 1.5MBs of content per page, making over 75 requests. Many popular websites are serving over 5MBs just to load their homepages. And these numbers represent measurements taken AFTER compression is applied. The full weight of many popular websites is pushing 20+ MBs these days. In an era where performance truly matters to the end user experience, web developers need techniques to help curtail this bloat in data down the wire. No matter how well you optimize, there is no better way than to delete things you do not need. How does one determine what is essential to the user experience and what is not? One answer Chris posits is to develop a hyper-lightweight version of your website which will provide critical insights into your specific performance priorities. This is a process that he has leveraged on many projects, in particular at YouTube to reduce the size of the video watch page from 1.5MBs to 100KBs. In this talk, Chris will take real-world web pages and show techniques for dramatically reducing their page weight and for identifying areas to optimize, while outlining the key steps to doing this well.

web developmenthtml5html
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)

In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.

htmlcssprogressive enhancement
Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering

Progressive downloads and rendering allow content to be delivered and displayed to the user incrementally to improve perceived performance. JavaScript should be placed at the bottom of the page to avoid blocking. CSS can block rendering so should also be delivered non-blocking when possible. Techniques like flushing output, non-blocking scripts, and data URIs can help deliver content progressively. MHTML and preloading can help optimize delivery across multiple HTTP requests. The overall goal is to start displaying content as soon as possible while content continues downloading in the background.

wpofronteersfronteers10
YSlow! break-down:
Pre- and post-caching.
GWT Site Performance Info

                    This is really not so good…!




high load times = high bounce rate = loosing in SERP 1:1‘s

                             https://www.google.com/webmasters/tools/
GWT Site Performance Info




                        Image Source: http://gdig.de/1p
RUM: Real User Measurement

<script>
      _gaq.push(['_setAccount','UA-XXXX-X']);
      _gaq.push(['_setSiteSpeedSampleRate', 100]);
      _gaq.push(['_trackPageview']);
</script>


  Google Analytics > Content > Site Speed
Collects all the data, 1% default sampling rate (customizable)!




                             I “heard” this Rum is
                                also fairly good…


                                            Analytics Documentation: http://gdig.de/1q

Recommended for you

[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover

This document provides an agenda and overview for an HTML5 and CSS3 workshop. The agenda includes explaining differences between HTML5 and XHTML, building with HTML5 elements like <header>, <nav>, <article>, <aside>, and <footer>, bringing back semantic HTML tags, figures and captions, editable elements, drag and drop, HTML5 metadata like microformats, and page structure. It discusses syntax changes in HTML5 and introducing new elements and attributes to improve semantics and accessibility.

htmlhtml5heweb11
Deploying
DeployingDeploying
Deploying

1. The document discusses the steps needed to deploy a web application including choosing a web host, domain name, web server, database, and technologies. 2. It recommends using a virtual private server or shared web host to avoid maintaining physical infrastructure, and choosing technologies like Apache, MySQL, and Python/Django based on your specific application needs and comfort level. 3. Key steps include buying a domain name, configuring the domain to point to your web server's IP address, setting up the Apache web server with mod_wsgi to run Django projects, and configuring Django to use a MySQL database.

 
by soon
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance

Lets look at an example of what a performant website can look like. This discuss what concepts should we be considering when looking at website performance. Next we will go over two areas pertaining to website performance: 1) website performance tweaks that you as a web developer can directly make 2) website performance tweaks that you may have to work with your hosting provider or IT department to achieve

website performanceweb performance testingweb performance monitoring
Real user’s avg.
page load times
#1: Reduce amount of requests
Get rid of multiple CSS & JS files
          8 JS + 4 CSS req. on a single page is a bad idea!




   Move CSS to the top, JS to the              Often times JS does change the
   footer to un-block rendering!              style, so always do CSS before JS!


                    Best case: 1 CSS + 1 JS file.
                    Real world: 1-2 CSS, 1 int. + 2-3 ext. JS
Do CSS Sprites




      Combine multiple (small) images into one
        big image to save on HTTP requests.

                                         http://spriteme.org/

Recommended for you

A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation

A Web Performance Dashboard can be set up and running in 90 minutes using freely available tools. The summary collects performance data from real users using boomerang.js and synthetic data from WebPagetest. The data is processed and stored using StatsD and Graphite. Finally, the dashboard is built by pulling the data into Piwik for visualization and monitoring.

webperfwpovelocity
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892

This document discusses CSS best practices and tips. It covers topics such as CSS selectors, properties, units, responsive design, animations, and creating shapes with CSS. Code examples are provided to demonstrate CSS techniques like creating fluid layouts, using media queries, properly formatting CSS rules, and perfectly centering elements.

css information
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln

The document discusses ways to improve WordPress performance, including optimizing images, minifying and combining CSS and JavaScript files, conditionally loading scripts, caching content, optimizing databases, and prioritizing above-the-fold content. It also provides examples of using .htaccess files, child themes, and hooks to optimize site performance.

wordpressperformance
www.spritecow.com
Tip: Balance parallelizable resources

                                     Even modern browsers don‘t
                                       allow 6+ connections per
                                     hostname at the same time!




     Using img1/img2/imgX.domain.com allows balancing
        requests to and between multiple sub-domains
    The result: A massive 6+ connections at a time.

                                      http://www.browserscope.org/
#2: Decrease size of request(s)
Minify CSS & JS files

                                               Minifying this (small) style-
                                              sheet results in 63% savings!


                                           For CSS, try:
                                           http://www.phpied.com/cssmin-js/
                                           http://developer.yahoo.com/yui/compressor/

                                           For JS, go with:
                                           http://www.crockford.com/javascript/jsmin.html
                                           https://developers.google.com/closure/compiler



      Removing unnecessary whitespaces, line-
      breaks and comments to reduce file-size.
     And: Makes it way harder for competitors to steal your code!

Recommended for you

YSlow 2.0
YSlow 2.0YSlow 2.0
YSlow 2.0

My slides from the "Exceptional Website Performance with YSlow 2.0" show at CSDN (China Software Developers Network) in Beijing, Dec 6, 2008

beijingstoyannetwork
WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015

Presenting capabilities that develop since WordPress 3.4 of the theme customization screen. In addition to the standard features, there will be also presented more unique functions available, including the use of the changes introduced in the newest WordPress versions. The main aim of the lecture is to convince theme developers that the theme customization screen may completely replace additional subpages of the dashboard with theme options.

apitheme customizerwordpress
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!

After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?

javascriptperformancenzakas
Enable GZIP compression



                                          Verify by checking the response
                                          headers, for “Content-Encoding“
                                                 to be set to “gzip“


         On Apache, try “mod_deflate” which is straight forward:
      AddOutputFilterByType DEFLATE text/html text/plain text/xml



    Output compression does massively decrease
    file-sizes and therefore speeds up rendering.

                              One of the ugliest sites ever: http://www.gzip.org/
Why would I do that?



Based on jQuery Version 1.9.1 …

        Normal             Minified   GZIP‘ed   Min. + GZIP‘ed
        271 KB              90 KB     78 KB         32 KB




        ~88% savings in file size due to combining
              minifying with compression.
                                                                 22
Tip: Use Live HTTP Headers in Firefox




    To easily check request and response objects as well as
      their headers, try Live HTTP Headers or Fire Cookie.

              https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/
Use a cookie-less domain



                                       Live HTTP headers reveals that no
                                         cookies are set for gstatic.com




      For static files, cookies are not required -
        disable cookie handling all together.

                 http://www.ravelrumba.com/blog/static-cookieless-domain/

Recommended for you

How We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CDHow We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CD

7 Peaks Software Angular Meetup July 2019. How We Build NG-MY Websites: Performance, SEO, CI, CD by Jecelyn Yeen – Developer expert at Google Calendar. Google Developer Expert. Angular 8 is the newest version on the block, and comes with the effective CLI API, helping make developers experience better. Offering differential loading support for modern browser, and faster loading, and also includes Ivy renderer tree-shaking for a smaller website. See all the event details here -> http://7peakssoftware.com/angular-meetup-2019/ Stay tuned to get information about 7 Peaks Software’s next Angular meetup at https://7peakssoftware.com/events/

ng-myng-my websitesperformance
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016

It's been 6 years since the term Responsive Web Design (RWD) was coined and today is difficult to see new projects without implementing it. But this time has allowed us to see the implementation can be even more important than the technique and the theory. The RWD covers from the performance to the implementation of patterns and "standard" behaviors to improve usability. In this session reviewed tools, techniques and concepts to improve our projects: - Performance and best practices - CSS structuring and optization (BEM, SMACSS, etc.) - Fixed-Pixel vs rem, em and % - Responsive images. Drupal non-Drupal solutions and SVGs - Asynchronous Javascript loading - Typography in a responsive environment and FOUT, FOIT effects - How proxy-based browsers like Opera Mini can affect, and how accessibility and Progressive Enhancement can help. - Beyond the Mouse: Touch and keyboard events - Using RWD patterns

progressive enhancementdrupalcampjavascript
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds

This document provides tips for optimizing a WordPress site for search engine optimization and security. It discusses configuration changes like permalinks and privacy settings. It recommends plugins for SEO like Yoast SEO, pagination, related posts, image optimization, and redirects. It also gives security recommendations like using a theme authenticity checker, keeping installations clean, updating regularly, daily scans, hardening security settings, and file permissions. Tips are provided for maintenance activities like theme testing, debugging, enabling Akismet, and backing up databases and files. The overall document aims to help WordPress site owners optimize their sites for SEO and improve security.

wordpressgrimm digitalgoogle
Tip: How to get rid of Cookies…

                   Straight forward: Don’t set them…!



          Apache header manipulation using “mod_headers”:
               RequestHeader unset Cookie

             Stop cookies being passed back to the client :
                  Header unset Set-Cookie

    Same goes for other components (like PHP, Java and the
   like) – each does provide functionality to disable Cookies.


                       http://httpd.apache.org/docs/2.4/mod/mod_headers.html
#3: Implement proper caching
Setup caching for static resources

                  Expires:              Set the “Expires”-header to exactly
       Fri, 07 Sept 2013 03:18:06 GMT   one year ahead of the request date


               Last-Modified:           Set the “Last-Modified”-header to
       Fri, 07 Sept 2012 03:18:06 GMT   the date the file was last modified


              Cache-Control:            Set the “Cache-Control: max-age”-
              max-age=3153600           header to “3153600” (1 year, again)




 It’s important to specify one of Expires or Cache-Control max-age,
    and one of Last-Modified or ETag, for all cacheable resources.
Some caching pitfalls…

            <link rel="stylesheet" type="text/css"
   href="/styles/83faf15055698ec77/my.css" media="screen" />

                                              Use URL fingerprinting to force
                                              refreshing of cached resources.

   But don’t use parameters to indicate
    versions – Squid et. al have issues ;)

             <link rel="stylesheet" type="text/css"
   href="/styles/my.css?v=83faf15055698ec77" media="screen" />


                                             If you want to cache SSL contents,
Header append Cache-Control                     make sure to have the “Cache
 "public, must-revalidate"                   control“-header to contain public.

Recommended for you

#Saveus
#Saveus#Saveus
#Saveus

15 Poems collection. This collection of poems gives you a closer and a brief look to the present world

worldpeacerumours
#4: Clean-up that source-code
Remove HTML comments




                                                ANT can remove HTML
                                               comments at build-time
                                              using a ReplaceRegEx task




     There is no need for HTML comments on a
    live system, remove them during build-time.

                Or try this one: http://code.google.com/p/htmlcompressor/
Move inline CSS / JS to external files




      Make the HTML as small as possible. Move
      out inline CSS and JS to make it cache-able.
Don’t scale images using width / height



                                  The image dimensions are 220x93,
                                  but onsite it’ll be shown as 100x42.




    Small images = less file-size. Don’t scale down
     images using attributes, provide small ones!

Recommended for you

ACi-TV
ACi-TVACi-TV
ACi-TV
aci-tvtvdigital
Clave secreta y pública
Clave secreta y públicaClave secreta y pública
Clave secreta y pública

Este documento presenta una serie de ejercicios sobre conceptos básicos de criptografía como cifrado simétrico y asimétrico, ataques de fuerza bruta, algoritmos de cifrado en flujo, firmas digitales y el ataque del hombre en el medio. Los ejercicios abordan temas como los tipos de algoritmos adecuados para cifrar videoconferencias, los principios de diseño seguro de algoritmos criptográficos, la definición de confusión en criptografía y cómo establecer una clave secreta de forma segura

Tip: Make images even smaller!



                                                     Use tinyPNG to optimize
                                                    PNG files without loosing in
                                                    quality (up to 70% savings)
JPEGmini does the same for JPEG
files and will reduce your images
  massively (up to 80% smaller)!




                                    http://tinypng.org/ & http://www.jpegmini.com/
Try jQuery Lazy Load
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>


                                   Embed jQuery + Lazy Load Plug-in


<img class="lazy" src="default.jpg" data-original="real-image.jpg"
width="640" height="480" alt="sometext" />



$("img.lazy").lazyload();                      Provide default + real image,
                                                 also include dimensions.


                            Execute the loader…



                                     http://www.appelsiini.net/projects/lazyload
Don’t use empty href- / src-attributes




                             IE makes a request to the directory in
                                   which the page is located.
                            Safari & Chrome make a request to the
                                       actual page itself.




    Empty “href” & “src” attributes can make your
     site slow – they’re requesting themselves.
Don’t use @import in CSS
 <link rel="stylesheet" type="text/css" href="/styles/my.css" />



                                       Always load CSS files
                                     using link-rel HTML tags.
 <style type="text/css">
 @import "/styles/my.css";
 @import url("/styles/my.css") screen;
 </style>


                                    Especially in external CSS, this
                                      will make your mama cry!


       Using CSS @import in external CSS makes it
     impossible for browsers to download in parallel.

Recommended for you

New Doc 8
New Doc 8New Doc 8
New Doc 8

This document is a scanned copy of a letter from the Department of Homeland Security notifying an individual that their application for an extension of stay in the United States has been denied. The letter states that the application did not meet the requirements for an extension and that they must depart the country within 33 days or face deportation proceedings.

Practica 4
Practica 4Practica 4
Practica 4

This document appears to be a student assignment containing calculations of simple interest for amounts ranging from 1 to 50 soles over time periods from 12:00am to 12:00am in increments of 1 hour. It lists the principal amount, interest amount, time period, and calculates the sum of interest earned and total for each line item.

Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae

El currículum vitae presenta los datos personales, formación y experiencia laboral de Patricia Magdalena Paredes Nuñez. Se detalla que es una contadora ecuatoriana casada nacida en 1979, que estudió primaria y secundaria en Ecuador y obtuvo el título de Licenciada en Contabilidad y Auditoria de la Universidad Técnica de Ambato, y que ha trabajado como contadora general en cooperativas y colegios.

#5: Consider asynchronous requests
Off-load components into AJAX fragments

                                            NO! Not this one…!



                                   I know: You guys are SEOs… you want
                                       ALL contents being crawl-able.
                                   So, use with care… like for filters, etc.




      AJAX = Asynchronous JavaScript And XML
  Using AJAX fragments does not block page loading!

            Credits: http://flic.kr/p/RGtz - AJAX Crawling: http://gdig.de/ajxcrwl
Some details about <script> …

    <script src="script.js" [...] async="async"></script>

   allows script to be downloaded in
  background without blocking. Having
   finished, rendering is blocked and
         script will be executed.


                                           Same - except it guarantees that
                                        scripts execute in the order they were
                                           specified within HTML mark-up.



    <script src="script.js" [...] defer="defer"></script>



                                                                                 39
Image Credits: http://bit.ly/YRTom2

Recommended for you

WE310+300B
WE310+300BWE310+300B
WE310+300B

This document contains a list of electronic component part numbers, values, and specifications including capacitors, resistors, transformers, diodes, and vacuum tubes. It also includes voltage and current ratings as well as component colors.

Lugo fecoht
Lugo fecohtLugo fecoht
Lugo fecoht

Este documento presenta la candidatura definitiva para el 5o Congreso de la Fecoht de Galicia de la Agrupación de Comercio, Hosteler��a, Desempleados y Varios de Nivel I de la Comarca de Lugo. La Mesa Electoral aprobó la única candidatura presentada por Iria Deibe Suárez, que incluye 10 candidatos enumerados con sus nombres completos, números de orden, apellidos, nombres, números de identificación y años de antigüedad.

The Google Approach




                      41
How about HeadJS?


                        The beauty: Only a single JS
                       needs to be loaded in <head>!




      HeadJS does enable parallelizing JS file
        downloads. Freaking awesome!

                                            http://headjs.com/
#6: Optimize your MySQL setup
Use the Slow Query Log

[mysqld]                                   Pro tip: Make sure to use “log-
log-slow-queries = my-slow.log          queries-not-using-indexes” option to
long_query_time = 5                     find SELECTs without proper indices!
log-queries-not-using-indexes



# Run the Perl script:               Get slow log parser to know how many
sudo ./mysql_slow_log_parser.pl      times queries appear, they take to exec.
/var/log/my-slow.log > slow.out          and which are the worst ones!




        MySQL seems to be slow - but no idea why?
           Enable “log-slow-queries” in my.cnf

                                  Log parser download: http://gdig.de/slgparse

Recommended for you

Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016

This executive summary provides information on MMEPL, a company promoting solar energy projects in India. It discusses MMEPL's business plan to develop 50-100 MW of solar projects across various Indian states. It also provides updates on MMEPL's existing projects, including a 10 MW project in Andhra Pradesh and plans to partner with foreign companies to develop more projects and domestic solar manufacturing. Key details on MMEPL's project development capabilities and experience in the energy sector are also summarized.

Dir iiee 2016
Dir iiee 2016Dir iiee 2016
Dir iiee 2016

Este documento presenta una lista de datos sobre docentes de educación básica regular en la región de Ayacucho, Perú. Incluye información sobre el nombre del docente, código de identificación, puntaje obtenido en diferentes áreas de evaluación como comprensión lectora, conocimientos de gestión y formación académica, así como el puntaje total obtenido. La lista contiene datos de 46 docentes de nivel inicial, secundaria y primaria de diferentes distritos de la región de Ayacucho.

Get your queries right!

                                                Pro tip: All “SELECT * FROM X”
      Adding a proper index                  statements can be pre-pended with
         would fix this!                             “EXPLAIN …” – use it!



EXPLAIN SELECT id, firstname, lastname FROM employee WHERE id=1;

+----------+------+---------------+------+---------+------+------+------------+
| table    | type | possible_keys | key | key_len | ref | rows | Extra        |
+----------+------+---------------+------+---------+------+------+------------+
| employee | ALL | NULL           | NULL | NULL    | NULL | 200 | where used |
+----------+------+---------------+------+---------+------+------+------------+



       A huge amount of MySQL queries suffer from bad
      coding. Make sure to setup & use indices properly!

                               http://dev.mysql.com/doc/refman/5.1/en/explain.html
Don’t do search using MySQL

     Neither MATCH
    AGAINST nor LIKE
     queries are fast!


  SELECT * FROM table WHERE
  MATCH (field1, field2)
  AGAINST ('query');


      Searching in MySQL is a performance killer!
       Consider switching to a real search server.

                   http://lucene.apache.org/solr/ & http://sphinxsearch.com/
Consider “simple” table optimizations

                              Do you really need “BIGINT”,
                                maybe “INT” is enough?

 Sure, this string will ever have that
 many characters – “VARCHAR(20)”             Also required to keep indexes in
        vs. “VARCHAR(255)”?                     memory by trimming the
                                                        overhead!




       Consider carefully how to setup your database
            tables. It makes a huge difference!
Prioritize statements properly

                                 Use “INSERT DELAYED” to execute
                                INSERTs without blocking other stuff!
 INSERT DELAYED INTO xyz
 (bla, blubb) VALUES
 ('val1', 'val2');                You need this data REALLY fast?
                                  “SELECT HIGH PRIORITY” helps!

 SELECT HIGH_PRIORITY foo,
 bar FROM XYZ;




       Do you need some data faster than other?
    Do you care about results of INSERT statements?

Recommended for you

Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...

The document summarizes "The Gypsy", a new reality musical travelogue TV show. It will follow a musician named Justin Fernandez as he travels across locations playing music. The show aims to break conventions and showcase undiscovered places, people, entertainment and food. It will also use music to connect viewers to life's realities. The show is produced by YES Indiavision TV and directed by Ajai Gopinath. Promos and a sample episode are provided. The document promotes sponsoring the show to help brands connect with audiences in a new way through music and travel.

television programyes indiavision channelthe gypsy
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...

The Oxus River flows from Central Asia into northern Afghanistan before turning south and flowing towards Kabul. Historically, the river provided an important trade route between Central Asia and South Asia. It remains a vital water source for communities in northern Afghanistan today.

casa 1000 surveyenvironmentasian development bank
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West PresentationSEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation

Adam Audette offers a short-but-sweet look at SEO for ecommerce sites, using Zappos.com for the example.

seoecommercesearch
Make your server faster!




         If you’re lazy: Use MySQLTuner to
              get recommendations for
           optimizing your my.cnf settings




   There is a pretty good reason, MySQL comes with
     different pre-configuration files - Use them!

                               https://github.com/rackerhacker/MySQLTuner-perl
Consider master- / slave-setups



                                                     read-only
      write




                 replicate

    MySQL replication is awesome – use different
       servers for reading and writing data.

         http://de.slideshare.net/osscube/mysql-performance-tuning-top-10-tips
#7: Optimize hosting & web-servers
Get reliable hosting




    Reliable hosting is key – make sure to choose a
         provider that fits your requirements.
                               A starting point: http://gdig.de/ushosts

Recommended for you

Eletricidade básica ( Senai )
Eletricidade básica ( Senai )Eletricidade básica ( Senai )
Eletricidade básica ( Senai )

A energia está sempre associada a um trabalho. Por isso, dizemos que energia é a capacidade que um corpo possui de realizar um trabalho. Como exemplo de energia, pode-se citar uma mola comprimida ou estendida, e a água, represada ou corrente. Assim como há vários modos de realizar um trabalho, também há várias formas de energia. Em nosso curso, falaremos mais sobre a energia elétrica e seus efeitos, porém devemos ter conhecimentos sobre outras formas de energia.

eletricidade basicasenai
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014

My talk at #brightonSEO 2014 on how to make websites FAST, covering request optimizations, caching, JS & CSS tweaks and a lot more!

performancecachingpagespeed
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow

This presentation is about implementing the performance as first approach in web development and a bit of real case study. Then implement the Lighthouse-CI in the development workflow to keep the site performance high.

lighthouseperfromanceweb
If you’re on Apache…

                                            Pro tip: “Small” stuff like
                                          disabling .htaccess can really
                                             improve performance!




      Google does provide “mod_pagespeed” to
     implement their best practices – give it a try!

                     https://developers.google.com/speed/pagespeed/mod
Or maybe: Consider replacing Apache…




  “nginx” is ridiculously fast – especially when serving
     static assets it’s probably the best you’ll find!

                                           http://www.nginx.com/
And: Reverse-proxy incoming requests
                                    All requests will be passed
                                 through a proxy, no direct access
  squid-cache.org                  to web-servers will be given.
  Optimising Web Delivery




        Get load off your web-server by setting up a
         dedicated box in front using SQUID Cache.

                                           http://www.squid-cache.org/
#8: Optimize your PHP setup

Recommended for you

DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing

This document discusses various techniques for improving the frontend performance of Drupal websites. It begins by introducing the speaker and describing the goals of the presentation. The bulk of the document then provides recommendations in three areas: backend server optimizations like caching, parallel downloads and gzip compression; tools for measuring performance; and frontend optimizations like minimizing requests, lazy loading images, and improving CSS and JavaScript. The document encourages proper performance diagnosis and defines goals before implementing solutions.

drupalapachefrontend
A little journey into website optimization
A little journey into website optimizationA little journey into website optimization
A little journey into website optimization

Fast, Faster, Fastest - A little journey into website optimization is a presentation given at Fronteers BE which covers the main techniques and tools that can help you achieve the best performance for your website. From various ways to compress images, to writing very efficient CSS, to using cache and compression to your advantage, the slides will explain why front-end optimization is necessary, how it impacts a business and even how big companies use performance perception for their websites.

website optimizationcss3 performancefronteers
Speed!
Speed!Speed!
Speed!

Speed! presentation given at the CMS Expo on May 2011. Presentation talks about why it is important to speed up a website and how to do it.

cachingcdnmysql
Use memcached sessions only!

                                           memcached comes with a
      php.ini settings                   custom PHP session handler -
                                          put session data straight to
                                              your servers RAM.


 session.save_handler = memcached
 session.save_path = "localhost:11211"




 By default, PHP will store session information on your
     servers HDDs – no good for high traffic sites!


                         http://php.net/manual/en/intro.memcached.php
Get a PHP accelerator

                                           What you need to know:
                                         PHP code will be complied for
                                         each request during runtime.




    By using an accelerator like APC you can cache
    functions, objects and much more in memory.
    Better: It does also cache compiled byte-code!
                      http://devzone.zend.com/1812/using-apc-with-php/
Try out PHP-FPM




 Read the full article: http://interfacelab.com/nginx-php-fpm-apc-awesome/




                    FastCGI Process Manager for PHP
       …is an alternative PHP FastCGI implementation with some additional
            features useful for sites of any size, especially busier sites.

                                                                             http://php-fpm.org/
#9: Always be the first one to know!

Recommended for you

On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013

My presentation from #SEOZone Istanbul 2013 covering advanced On-Page SEO optimization aspects such as crawl-ability, semantics, duplicate content issues as well as performance optimization stragies.

on-pagecrawlerseo
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications

Day 6 of 7-days "JavaScript and Rich User Interfaces" training for my colleagues. It covers ways how to speed up your application.

yahooperformancejs
High performance website
High performance websiteHigh performance website
High performance website

The document provides 14 tips for optimizing website performance based on the 80/20 rule. The tips include minimizing HTTP requests by combining files, using a CDN, adding caching headers, gzipping files, optimizing CSS and JS placement, avoiding redirects and duplicate scripts, and making Ajax cacheable. Following these best practices can significantly improve page load times by reducing network requests and making better use of browser caching.

Heavy load testing: blitz.io




                               http://blitz.io/
Site-uptime & performance: pingdom




                          http://www.pingdom.com/
Application & service monitoring: icinga




                              https://www.icinga.org/
Automated testing: GTmetrix




                              http://gtmetrix.com/api/

Recommended for you

Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)

Web performance optimization can be done at three levels - general, server-side, and technology. At the general level, techniques include minimizing HTTP requests, optimizing images, minifying files, avoiding redirects and empty sources. Server-side optimizations involve techniques like content delivery networks, cookie-free domains, caching, and gzip compression. At the technology level for dynamic sites like Joomla, optimizations include flushing buffers early and optimizing database queries. Performance can be measured using various online tools.

performance optimizationincrease website speed
Frontend performance
Frontend performanceFrontend performance
Frontend performance

The document provides best practices for optimizing frontend performance by reducing page load time. It discusses ways to reduce the number of HTTP requests, DNS lookups, redirects and duplicate scripts. It also recommends techniques like minifying assets, leveraging caching, prioritizing critical components, optimizing images and using content delivery networks.

performancefrontend
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages

The document discusses how web browsers render web pages in 5 stages: 1) Constructing the object model from HTML tags and content 2) Creating the render tree by omitting non-visible nodes 3) Calculating layout and positioning during the layout stage 4) Painting pixels on the screen during the paint stage 5) Composite layers are ordered and combined during the composite stage It provides tips for optimizing performance such as minimizing critical resources, leveraging caching, prioritizing content, and reducing reflows and repaints.

high performing web pagesmake your website load fasterhow to build fast loading web sites
#10: Bit of a Cheat…
You could just buy me a beer!
Use Google’s CDN for popular libraries



                                Since a lot of site-owners are using
                                 G-DCs, chances are, people have
                                    those files cached already!




  Google has the fastest CDN on the planet, make sure
    you use their DCs to serve your files if possible!

                          https://developers.google.com/speed/libraries/
Off-load other stuff to a CDN




 Latency is crucial – especially if you’re serving a global audience,
   offloading statics to a CDN will give additional performance.

                                           CDN Overview: http://gdig.de/cdns

Recommended for you

performance.ppt
performance.pptperformance.ppt
performance.ppt

This document provides practical strategies for improving front-end performance of websites. It discusses specific techniques like making fewer HTTP requests by combining files, leveraging browser caching with far-future expires headers, gzipping components, using CSS sprites, and deploying assets on a content delivery network. It also summarizes key rules from tools like YSlow and PageSpeed for optimizing front-end performance.

Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations

The document discusses optimization of the presentation tier of web applications. It notes that the presentation tier is often overlooked despite being responsible for over 30% of client/server performance. Some key optimizations discussed include reducing HTTP requests, optimizing response objects by reducing size and load pattern, JavaScript minification and placement, image sprites, caching, and ensuring valid HTML markup.

htmlcssjavascript
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend

The document discusses various techniques for optimizing the front-end performance of websites, including minification, CSS sprites, domain sharding, image optimization, and HTTP caching. It provides examples and best practices for each technique to reduce file sizes, HTTP requests, and load times to improve user experience.

front-endoptimizationfrontend
Thanks! Questions?
     mail@grimm-digital.com
     twitter.com/basgr
     linkedin.com/in/bastiangrimm
     facebook.com/grimm.digital

       http://gdig.de/sydney2

Bastian Grimm, Managing Partner - Grimm Digital - @basgr

More Related Content

What's hot

Diy frozen snow globe
Diy frozen snow globeDiy frozen snow globe
Diy frozen snow globe
raveenashrynayr03
 
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
Shift Conference
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
gleddy
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
Twinbit
 
HTML5
HTML5HTML5
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 
Hyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris ZachariasHyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris Zacharias
Christopher Zacharias
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas
 
Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering
Stoyan Stefanov
 
[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover
Christopher Schmitt
 
Deploying
DeployingDeploying
Deploying
soon
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
Andrew Siemer
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
Justin Dorfman
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
 
YSlow 2.0
YSlow 2.0YSlow 2.0
YSlow 2.0
Stoyan Stefanov
 
WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015
Tomasz Dziuda
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
Nicholas Zakas
 
How We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CDHow We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CD
Seven Peaks Speaks
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016
Cristina Chumillas
 

What's hot (20)

Diy frozen snow globe
Diy frozen snow globeDiy frozen snow globe
Diy frozen snow globe
 
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
 
HTML5
HTML5HTML5
HTML5
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
 
Hyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris ZachariasHyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris Zacharias
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 
Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering
 
[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover
 
Deploying
DeployingDeploying
Deploying
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
 
YSlow 2.0
YSlow 2.0YSlow 2.0
YSlow 2.0
 
WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
 
How We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CDHow We Build NG-MY Websites: Performance, SEO, CI, CD
How We Build NG-MY Websites: Performance, SEO, CI, CD
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016
 

Viewers also liked

WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
Bastian Grimm
 
#Saveus
#Saveus#Saveus
#Saveus
Mane Omsy
 
Clave secreta y pública
Clave secreta y públicaClave secreta y pública
Clave secreta y pública
luciasancheztico
 
New Doc 8
New Doc 8New Doc 8
Practica 4
Practica 4Practica 4
Practica 4
carla2013
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
patiparedes7
 
WE310+300B
WE310+300BWE310+300B
WE310+300B
Tsen-Shau Yang
 
Lugo fecoht
Lugo fecohtLugo fecoht
Lugo fecoht
oscargaliza
 
Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016
glsomani
 
Dir iiee 2016
Dir iiee 2016Dir iiee 2016
Dir iiee 2016
MARIO JAIME ANDIA
 
Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...
ajdreams2
 
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Agha A
 
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West PresentationSEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
Adam Audette
 
Eletricidade básica ( Senai )
Eletricidade básica ( Senai )Eletricidade básica ( Senai )
Eletricidade básica ( Senai )
Ricardo Akerman
 

Viewers also liked (20)

WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
 
Citizen Citation
Citizen CitationCitizen Citation
Citizen Citation
 
scanvoor online
scanvoor onlinescanvoor online
scanvoor online
 
#Saveus
#Saveus#Saveus
#Saveus
 
Ocene2011 12 p2_01
Ocene2011 12 p2_01Ocene2011 12 p2_01
Ocene2011 12 p2_01
 
ACi-TV
ACi-TVACi-TV
ACi-TV
 
Clave secreta y pública
Clave secreta y públicaClave secreta y pública
Clave secreta y pública
 
New Doc 8
New Doc 8New Doc 8
New Doc 8
 
Practica 4
Practica 4Practica 4
Practica 4
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
 
WE310+300B
WE310+300BWE310+300B
WE310+300B
 
Rob poster pdf
Rob poster pdfRob poster pdf
Rob poster pdf
 
Lugo fecoht
Lugo fecohtLugo fecoht
Lugo fecoht
 
skydrive_word_doc
skydrive_word_docskydrive_word_doc
skydrive_word_doc
 
Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016Presentation MMEPL Business Plan V1 26 07 2016
Presentation MMEPL Business Plan V1 26 07 2016
 
Dir iiee 2016
Dir iiee 2016Dir iiee 2016
Dir iiee 2016
 
Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...Presentation on the First ever Reality Musical Travelogue in the history of w...
Presentation on the First ever Reality Musical Travelogue in the history of w...
 
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
Oxus to Kabul- CASA 1000 Survey - SNC Lavalin Canada- An Asian Development Ba...
 
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West PresentationSEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
SEO for Large Ecommerce Sites - Adam Audette's SMX West Presentation
 
Eletricidade básica ( Senai )
Eletricidade básica ( Senai )Eletricidade básica ( Senai )
Eletricidade básica ( Senai )
 

Similar to The Need for Speed - SMX Sydney 2013

The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
Bastian Grimm
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
WordPress
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
Ashok Modi
 
A little journey into website optimization
A little journey into website optimizationA little journey into website optimization
A little journey into website optimization
Stelian Firez
 
Speed!
Speed!Speed!
On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013
Bastian Grimm
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Siarhei Barysiuk
 
High performance website
High performance websiteHigh performance website
High performance website
Chamnap Chhorn
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
clickramanm
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
sacred 8
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
Nilesh Bafna
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
fakeaccount225095
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
Anup Hariharan Nair
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
Võ Duy Tuấn
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
CgColors
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side Optimization
Patrick Huesler
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
Ashok Modi
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
Christopher Schmitt
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 

Similar to The Need for Speed - SMX Sydney 2013 (20)

The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
 
A little journey into website optimization
A little journey into website optimizationA little journey into website optimization
A little journey into website optimization
 
Speed!
Speed!Speed!
Speed!
 
On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013On-Page SEO EXTREME - SEOZone Istanbul 2013
On-Page SEO EXTREME - SEOZone Istanbul 2013
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
High performance website
High performance websiteHigh performance website
High performance website
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side Optimization
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 

More from Bastian Grimm

Migration Best Practices - Peak Ace on Air
Migration Best Practices - Peak Ace on AirMigration Best Practices - Peak Ace on Air
Migration Best Practices - Peak Ace on Air
Bastian Grimm
 
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secretsSEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
Bastian Grimm
 
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGTechnical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Bastian Grimm
 
Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019
Bastian Grimm
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
Bastian Grimm
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
Bastian Grimm
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018
Bastian Grimm
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Bastian Grimm
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018
Bastian Grimm
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
Bastian Grimm
 
Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018
Bastian Grimm
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018
Bastian Grimm
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
Bastian Grimm
 
Web Performance Madness - brightonSEO 2018
Web Performance Madness - brightonSEO 2018Web Performance Madness - brightonSEO 2018
Web Performance Madness - brightonSEO 2018
Bastian Grimm
 
Digitale Assistenzsysteme - SMX München 2018
Digitale Assistenzsysteme - SMX München 2018Digitale Assistenzsysteme - SMX München 2018
Digitale Assistenzsysteme - SMX München 2018
Bastian Grimm
 
AMP - SMX München 2018
AMP - SMX München 2018AMP - SMX München 2018
AMP - SMX München 2018
Bastian Grimm
 
How fast is fast enough - SMX West 2018
How fast is fast enough - SMX West 2018How fast is fast enough - SMX West 2018
How fast is fast enough - SMX West 2018
Bastian Grimm
 
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 DublinWhats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Bastian Grimm
 
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Bastian Grimm
 
Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017
Bastian Grimm
 

More from Bastian Grimm (20)

Migration Best Practices - Peak Ace on Air
Migration Best Practices - Peak Ace on AirMigration Best Practices - Peak Ace on Air
Migration Best Practices - Peak Ace on Air
 
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secretsSEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
 
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGTechnical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
 
Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
 
Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
Web Performance Madness - brightonSEO 2018
Web Performance Madness - brightonSEO 2018Web Performance Madness - brightonSEO 2018
Web Performance Madness - brightonSEO 2018
 
Digitale Assistenzsysteme - SMX München 2018
Digitale Assistenzsysteme - SMX München 2018Digitale Assistenzsysteme - SMX München 2018
Digitale Assistenzsysteme - SMX München 2018
 
AMP - SMX München 2018
AMP - SMX München 2018AMP - SMX München 2018
AMP - SMX München 2018
 
How fast is fast enough - SMX West 2018
How fast is fast enough - SMX West 2018How fast is fast enough - SMX West 2018
How fast is fast enough - SMX West 2018
 
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 DublinWhats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
 
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
 
Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017Digitale Assistenten - OMX 2017
Digitale Assistenten - OMX 2017
 

Recently uploaded

find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 

Recently uploaded (20)

find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 

The Need for Speed - SMX Sydney 2013

  • 1. The Need for Speed - How to make your site REALLY fast! - http://gdig.de/sydney2 Sydney, April 2013 Bastian Grimm, Managing Partner - Grimm Digital - @basgr
  • 2. About me SEO Trainings, Seminars & Strategy Consulting WordPress Security, Consulting & Development @basgr Berlin-based Full-Service Performance Marketing Agency 2
  • 3. Get the Slide-Deck http://gdig.de/sydney2
  • 4. Read the full story here: http://gdig.de/1o
  • 5. “We encourage you to start looking at your site's speed - not only to improve your ranking in search engines, but also to improve everyone's experience on the Internet.” - Amit Singhal & Matt Cutts, Google Search Quality Team
  • 6. One (simple) goal only: Make your site as fast as you can! Can you get, what Amazon got? 1%+ in revenue for every 100 ms in speed. Amazon study: http://gdig.de/amzn100
  • 7. Web-based performance analysis using the „Google factors”.. https://developers.google.com/pagespeed/
  • 10. GWT Site Performance Info This is really not so good…! high load times = high bounce rate = loosing in SERP 1:1‘s https://www.google.com/webmasters/tools/
  • 11. GWT Site Performance Info Image Source: http://gdig.de/1p
  • 12. RUM: Real User Measurement <script> _gaq.push(['_setAccount','UA-XXXX-X']); _gaq.push(['_setSiteSpeedSampleRate', 100]); _gaq.push(['_trackPageview']); </script> Google Analytics > Content > Site Speed Collects all the data, 1% default sampling rate (customizable)! I “heard” this Rum is also fairly good… Analytics Documentation: http://gdig.de/1q
  • 14. #1: Reduce amount of requests
  • 15. Get rid of multiple CSS & JS files 8 JS + 4 CSS req. on a single page is a bad idea! Move CSS to the top, JS to the Often times JS does change the footer to un-block rendering! style, so always do CSS before JS! Best case: 1 CSS + 1 JS file. Real world: 1-2 CSS, 1 int. + 2-3 ext. JS
  • 16. Do CSS Sprites Combine multiple (small) images into one big image to save on HTTP requests. http://spriteme.org/
  • 18. Tip: Balance parallelizable resources Even modern browsers don‘t allow 6+ connections per hostname at the same time! Using img1/img2/imgX.domain.com allows balancing requests to and between multiple sub-domains The result: A massive 6+ connections at a time. http://www.browserscope.org/
  • 19. #2: Decrease size of request(s)
  • 20. Minify CSS & JS files Minifying this (small) style- sheet results in 63% savings! For CSS, try: http://www.phpied.com/cssmin-js/ http://developer.yahoo.com/yui/compressor/ For JS, go with: http://www.crockford.com/javascript/jsmin.html https://developers.google.com/closure/compiler Removing unnecessary whitespaces, line- breaks and comments to reduce file-size. And: Makes it way harder for competitors to steal your code!
  • 21. Enable GZIP compression Verify by checking the response headers, for “Content-Encoding“ to be set to “gzip“ On Apache, try “mod_deflate” which is straight forward: AddOutputFilterByType DEFLATE text/html text/plain text/xml Output compression does massively decrease file-sizes and therefore speeds up rendering. One of the ugliest sites ever: http://www.gzip.org/
  • 22. Why would I do that? Based on jQuery Version 1.9.1 … Normal Minified GZIP‘ed Min. + GZIP‘ed 271 KB 90 KB 78 KB 32 KB ~88% savings in file size due to combining minifying with compression. 22
  • 23. Tip: Use Live HTTP Headers in Firefox To easily check request and response objects as well as their headers, try Live HTTP Headers or Fire Cookie. https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/
  • 24. Use a cookie-less domain Live HTTP headers reveals that no cookies are set for gstatic.com For static files, cookies are not required - disable cookie handling all together. http://www.ravelrumba.com/blog/static-cookieless-domain/
  • 25. Tip: How to get rid of Cookies… Straight forward: Don’t set them…! Apache header manipulation using “mod_headers”: RequestHeader unset Cookie Stop cookies being passed back to the client : Header unset Set-Cookie Same goes for other components (like PHP, Java and the like) – each does provide functionality to disable Cookies. http://httpd.apache.org/docs/2.4/mod/mod_headers.html
  • 27. Setup caching for static resources Expires: Set the “Expires”-header to exactly Fri, 07 Sept 2013 03:18:06 GMT one year ahead of the request date Last-Modified: Set the “Last-Modified”-header to Fri, 07 Sept 2012 03:18:06 GMT the date the file was last modified Cache-Control: Set the “Cache-Control: max-age”- max-age=3153600 header to “3153600” (1 year, again) It’s important to specify one of Expires or Cache-Control max-age, and one of Last-Modified or ETag, for all cacheable resources.
  • 28. Some caching pitfalls… <link rel="stylesheet" type="text/css" href="/styles/83faf15055698ec77/my.css" media="screen" /> Use URL fingerprinting to force refreshing of cached resources. But don’t use parameters to indicate versions – Squid et. al have issues ;) <link rel="stylesheet" type="text/css" href="/styles/my.css?v=83faf15055698ec77" media="screen" /> If you want to cache SSL contents, Header append Cache-Control make sure to have the “Cache "public, must-revalidate" control“-header to contain public.
  • 29. #4: Clean-up that source-code
  • 30. Remove HTML comments ANT can remove HTML comments at build-time using a ReplaceRegEx task There is no need for HTML comments on a live system, remove them during build-time. Or try this one: http://code.google.com/p/htmlcompressor/
  • 31. Move inline CSS / JS to external files Make the HTML as small as possible. Move out inline CSS and JS to make it cache-able.
  • 32. Don’t scale images using width / height The image dimensions are 220x93, but onsite it’ll be shown as 100x42. Small images = less file-size. Don’t scale down images using attributes, provide small ones!
  • 33. Tip: Make images even smaller! Use tinyPNG to optimize PNG files without loosing in quality (up to 70% savings) JPEGmini does the same for JPEG files and will reduce your images massively (up to 80% smaller)! http://tinypng.org/ & http://www.jpegmini.com/
  • 34. Try jQuery Lazy Load <script src="jquery.js" type="text/javascript"></script> <script src="jquery.lazyload.js" type="text/javascript"></script> Embed jQuery + Lazy Load Plug-in <img class="lazy" src="default.jpg" data-original="real-image.jpg" width="640" height="480" alt="sometext" /> $("img.lazy").lazyload(); Provide default + real image, also include dimensions. Execute the loader… http://www.appelsiini.net/projects/lazyload
  • 35. Don’t use empty href- / src-attributes IE makes a request to the directory in which the page is located. Safari & Chrome make a request to the actual page itself. Empty “href” & “src” attributes can make your site slow – they’re requesting themselves.
  • 36. Don’t use @import in CSS <link rel="stylesheet" type="text/css" href="/styles/my.css" /> Always load CSS files using link-rel HTML tags. <style type="text/css"> @import "/styles/my.css"; @import url("/styles/my.css") screen; </style> Especially in external CSS, this will make your mama cry! Using CSS @import in external CSS makes it impossible for browsers to download in parallel.
  • 38. Off-load components into AJAX fragments NO! Not this one…! I know: You guys are SEOs… you want ALL contents being crawl-able. So, use with care… like for filters, etc. AJAX = Asynchronous JavaScript And XML Using AJAX fragments does not block page loading! Credits: http://flic.kr/p/RGtz - AJAX Crawling: http://gdig.de/ajxcrwl
  • 39. Some details about <script> … <script src="script.js" [...] async="async"></script> allows script to be downloaded in background without blocking. Having finished, rendering is blocked and script will be executed. Same - except it guarantees that scripts execute in the order they were specified within HTML mark-up. <script src="script.js" [...] defer="defer"></script> 39
  • 42. How about HeadJS? The beauty: Only a single JS needs to be loaded in <head>! HeadJS does enable parallelizing JS file downloads. Freaking awesome! http://headjs.com/
  • 43. #6: Optimize your MySQL setup
  • 44. Use the Slow Query Log [mysqld] Pro tip: Make sure to use “log- log-slow-queries = my-slow.log queries-not-using-indexes” option to long_query_time = 5 find SELECTs without proper indices! log-queries-not-using-indexes # Run the Perl script: Get slow log parser to know how many sudo ./mysql_slow_log_parser.pl times queries appear, they take to exec. /var/log/my-slow.log > slow.out and which are the worst ones! MySQL seems to be slow - but no idea why? Enable “log-slow-queries” in my.cnf Log parser download: http://gdig.de/slgparse
  • 45. Get your queries right! Pro tip: All “SELECT * FROM X” Adding a proper index statements can be pre-pended with would fix this! “EXPLAIN …” – use it! EXPLAIN SELECT id, firstname, lastname FROM employee WHERE id=1; +----------+------+---------------+------+---------+------+------+------------+ | table | type | possible_keys | key | key_len | ref | rows | Extra | +----------+------+---------------+------+---------+------+------+------------+ | employee | ALL | NULL | NULL | NULL | NULL | 200 | where used | +----------+------+---------------+------+---------+------+------+------------+ A huge amount of MySQL queries suffer from bad coding. Make sure to setup & use indices properly! http://dev.mysql.com/doc/refman/5.1/en/explain.html
  • 46. Don’t do search using MySQL Neither MATCH AGAINST nor LIKE queries are fast! SELECT * FROM table WHERE MATCH (field1, field2) AGAINST ('query'); Searching in MySQL is a performance killer! Consider switching to a real search server. http://lucene.apache.org/solr/ & http://sphinxsearch.com/
  • 47. Consider “simple” table optimizations Do you really need “BIGINT”, maybe “INT” is enough? Sure, this string will ever have that many characters – “VARCHAR(20)” Also required to keep indexes in vs. “VARCHAR(255)”? memory by trimming the overhead! Consider carefully how to setup your database tables. It makes a huge difference!
  • 48. Prioritize statements properly Use “INSERT DELAYED” to execute INSERTs without blocking other stuff! INSERT DELAYED INTO xyz (bla, blubb) VALUES ('val1', 'val2'); You need this data REALLY fast? “SELECT HIGH PRIORITY” helps! SELECT HIGH_PRIORITY foo, bar FROM XYZ; Do you need some data faster than other? Do you care about results of INSERT statements?
  • 49. Make your server faster! If you’re lazy: Use MySQLTuner to get recommendations for optimizing your my.cnf settings There is a pretty good reason, MySQL comes with different pre-configuration files - Use them! https://github.com/rackerhacker/MySQLTuner-perl
  • 50. Consider master- / slave-setups read-only write replicate MySQL replication is awesome – use different servers for reading and writing data. http://de.slideshare.net/osscube/mysql-performance-tuning-top-10-tips
  • 51. #7: Optimize hosting & web-servers
  • 52. Get reliable hosting Reliable hosting is key – make sure to choose a provider that fits your requirements. A starting point: http://gdig.de/ushosts
  • 53. If you’re on Apache… Pro tip: “Small” stuff like disabling .htaccess can really improve performance! Google does provide “mod_pagespeed” to implement their best practices – give it a try! https://developers.google.com/speed/pagespeed/mod
  • 54. Or maybe: Consider replacing Apache… “nginx” is ridiculously fast – especially when serving static assets it’s probably the best you’ll find! http://www.nginx.com/
  • 55. And: Reverse-proxy incoming requests All requests will be passed through a proxy, no direct access squid-cache.org to web-servers will be given. Optimising Web Delivery Get load off your web-server by setting up a dedicated box in front using SQUID Cache. http://www.squid-cache.org/
  • 56. #8: Optimize your PHP setup
  • 57. Use memcached sessions only! memcached comes with a php.ini settings custom PHP session handler - put session data straight to your servers RAM. session.save_handler = memcached session.save_path = "localhost:11211" By default, PHP will store session information on your servers HDDs – no good for high traffic sites! http://php.net/manual/en/intro.memcached.php
  • 58. Get a PHP accelerator What you need to know: PHP code will be complied for each request during runtime. By using an accelerator like APC you can cache functions, objects and much more in memory. Better: It does also cache compiled byte-code! http://devzone.zend.com/1812/using-apc-with-php/
  • 59. Try out PHP-FPM Read the full article: http://interfacelab.com/nginx-php-fpm-apc-awesome/ FastCGI Process Manager for PHP …is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. http://php-fpm.org/
  • 60. #9: Always be the first one to know!
  • 61. Heavy load testing: blitz.io http://blitz.io/
  • 62. Site-uptime & performance: pingdom http://www.pingdom.com/
  • 63. Application & service monitoring: icinga https://www.icinga.org/
  • 64. Automated testing: GTmetrix http://gtmetrix.com/api/
  • 65. #10: Bit of a Cheat…
  • 66. You could just buy me a beer!
  • 67. Use Google’s CDN for popular libraries Since a lot of site-owners are using G-DCs, chances are, people have those files cached already! Google has the fastest CDN on the planet, make sure you use their DCs to serve your files if possible! https://developers.google.com/speed/libraries/
  • 68. Off-load other stuff to a CDN Latency is crucial – especially if you’re serving a global audience, offloading statics to a CDN will give additional performance. CDN Overview: http://gdig.de/cdns
  • 69. Thanks! Questions? mail@grimm-digital.com twitter.com/basgr linkedin.com/in/bastiangrimm facebook.com/grimm.digital http://gdig.de/sydney2 Bastian Grimm, Managing Partner - Grimm Digital - @basgr