This document discusses techniques for building scalable websites with Perl, including:
1) Caching at various levels (page, partial page, and database caching) to improve performance and reduce load on application servers.
2) Using job queuing and worker processes to distribute processing-intensive tasks asynchronously instead of blocking web requests.
3) Leveraging caching and queueing libraries like Cache::FastMmap, Memcached, and Spread::Queue to implement caching and job queueing in Perl applications.
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Joe Williams, Computer Operator at GitHub discusses using a CDN to mitigate security threats.
Video of the talk: http://fastly.us/Altitude2015_Mitigating-Security-Threats-2
Joe's bio: Joe Williams is a Computer Operator at GitHub, and joined their infrastructure team in August 2013. Joe's passion for distributed systems, queuing theory and automation help keep the lights on. When not behind a computer you can generally find him riding a bicycle around Marin, CA.
Content caching is one of the most effective ways to dramatically improve the performance of a web site. In this webinar, we’ll deep-dive into NGINX’s caching abilities and investigate the architecture used, debugging techniques and advanced configuration. By the end of the webinar, you’ll be well equipped to configure NGINX to cache content exactly as you need.
View full webinar on demand at http://nginx.com/resources/webinars/content-caching-nginx/
The document discusses front-end web performance optimization. It introduces various tools for measuring performance, such as YSlow and Firebug's Net panel. It then provides 10 tips for optimizing performance, including reducing the number of server requests, using content delivery networks for files, enabling browser and server caching, compressing files with gzip, prioritizing CSS and scripts, and reducing image file sizes.
Introduction to performance tuning perl web applicationsPerrin Harkins
This document provides an introduction to performance tuning Perl web applications. It discusses identifying performance bottlenecks, benchmarking tools like ab and httperf to measure performance, profiling tools like Devel::NYTProf to find where time is spent, common causes of slowness like inefficient database queries and lack of caching, and approaches for improvement like query optimization, caching, and infrastructure changes. The key messages are that performance issues are best identified through measurement and profiling, database queries are often the main culprit, and caching can help but adds complexity.
This document summarizes an introduction to profiling presentation. It discusses using the cProfile module to generate profile data and analyze it using tools like pstats. It also discusses using the results to identify bottlenecks by looking at exclusive time functions or walking down the call graph from inclusive time functions. Common optimizations mentioned include removing unnecessary work, using more efficient algorithms, batching I/O operations, database and SQL tuning, caching, and reducing code complexity.
This document discusses how to maintain large web applications over time. It describes how the author's team managed a web application with over 65,000 lines of code and 6,000 automated tests over 2.5 years of development. Key aspects included packaging full releases, automating dependency installation, specifying supported environments, and automating data migrations during upgrades. The goal was to have a sustainable process that allowed for continuous development without slowing down due to maintenance issues.
The document provides biographical information about Brandon Kang in Korean. It lists his previous work experiences at Samsung SDS and Microsoft Korea, as well as his current role at Akamai Korea. It also outlines his areas of focus, which include writing books and translating on topics such as IT trends, web programming, mobile apps, and games.
This document discusses techniques for building scalable websites with Perl, including:
1) Caching at various levels (page, partial page, and database caching) to improve performance and reduce load on application servers.
2) Using job queuing and worker processes to distribute processing-intensive tasks asynchronously instead of blocking web requests.
3) Leveraging caching and queueing libraries like Cache::FastMmap, Memcached, and Spread::Queue to implement caching and job queueing in Perl applications.
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Joe Williams, Computer Operator at GitHub discusses using a CDN to mitigate security threats.
Video of the talk: http://fastly.us/Altitude2015_Mitigating-Security-Threats-2
Joe's bio: Joe Williams is a Computer Operator at GitHub, and joined their infrastructure team in August 2013. Joe's passion for distributed systems, queuing theory and automation help keep the lights on. When not behind a computer you can generally find him riding a bicycle around Marin, CA.
Content caching is one of the most effective ways to dramatically improve the performance of a web site. In this webinar, we’ll deep-dive into NGINX’s caching abilities and investigate the architecture used, debugging techniques and advanced configuration. By the end of the webinar, you’ll be well equipped to configure NGINX to cache content exactly as you need.
View full webinar on demand at http://nginx.com/resources/webinars/content-caching-nginx/
The document discusses front-end web performance optimization. It introduces various tools for measuring performance, such as YSlow and Firebug's Net panel. It then provides 10 tips for optimizing performance, including reducing the number of server requests, using content delivery networks for files, enabling browser and server caching, compressing files with gzip, prioritizing CSS and scripts, and reducing image file sizes.
Introduction to performance tuning perl web applicationsPerrin Harkins
This document provides an introduction to performance tuning Perl web applications. It discusses identifying performance bottlenecks, benchmarking tools like ab and httperf to measure performance, profiling tools like Devel::NYTProf to find where time is spent, common causes of slowness like inefficient database queries and lack of caching, and approaches for improvement like query optimization, caching, and infrastructure changes. The key messages are that performance issues are best identified through measurement and profiling, database queries are often the main culprit, and caching can help but adds complexity.
This document summarizes an introduction to profiling presentation. It discusses using the cProfile module to generate profile data and analyze it using tools like pstats. It also discusses using the results to identify bottlenecks by looking at exclusive time functions or walking down the call graph from inclusive time functions. Common optimizations mentioned include removing unnecessary work, using more efficient algorithms, batching I/O operations, database and SQL tuning, caching, and reducing code complexity.
This document discusses how to maintain large web applications over time. It describes how the author's team managed a web application with over 65,000 lines of code and 6,000 automated tests over 2.5 years of development. Key aspects included packaging full releases, automating dependency installation, specifying supported environments, and automating data migrations during upgrades. The goal was to have a sustainable process that allowed for continuous development without slowing down due to maintenance issues.
The document provides biographical information about Brandon Kang in Korean. It lists his previous work experiences at Samsung SDS and Microsoft Korea, as well as his current role at Akamai Korea. It also outlines his areas of focus, which include writing books and translating on topics such as IT trends, web programming, mobile apps, and games.
This document discusses various techniques for optimizing the frontend performance of web applications. It provides 5 rules: 1) Only optimize when it makes a meaningful difference. 2) Download resources in parallel to reduce page load time. 3) Eliminate unnecessary requests through techniques like merging, inlining, sprites and caching. 4) Defer parsing of JavaScripts when possible to improve perceived page load speeds. 5) Consider factors like server location and content delivery networks to improve global performance.
Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic ContentFastly
June 25, 2014. Hooman Beheshti, VP Technology at Fastly, discusses how using a real-time, modern CDN that provides instant cache invalidation and real-time analytics allows for instantaneous control over dynamic content caching. In this session, he looks at the challenges CDNs face with dynamic content and how you can use programmatic means to fully integrate your applications with your CDN.
This talk was presented at OSCON 2009 and YAPC::NA 2009. The choices discussed here are still relevant, although Plack has opened up some new options. For a more up-to-date take on this material I would recommend Tatsuhiko Miyagawa's most recent Plack/PSGI talks.
Nginx is a web server that is faster, uses less memory and is more stable than Apache under load. It is better suited for Rails applications and cloud computing. Nginx acts as a proxy, routing requests to application servers. It can perform request filtering, like caching requests, and authentication checks without modifying Rails application code using custom Nginx modules. This allows separating infrastructure concerns from application logic.
When people hear the word NGINX, they usually associate the open source platform for its popular adoption as an HTTP web server or load balancer. What a lot of people don't know is the vast amount of powerful features contained in the platform that can be used to build an HTTP caching layer and why NGINX is often used as a framework to build powerful, scalable and highly available content delivery networks. In this talk we will dive into each unique NGINX directive and its configuration options that are available. We will show different architectural approaches that can be used to build a highly available HTTP content cache layer. We will show various other NGINX configurations that can be critical to your NGINX deployment. Walking away from this presentation, attendees will have the knowledge required to configure basic and advanced caching of their NGINX servers.
Nginx is a popular tool for load balancing and caching. It offers high performance, reliability and flexibility for load balancing through features like upstream modules, health checks, and request distribution methods. It can also improve response times and handle traffic spikes through caching static content and supporting techniques like stale caching.
This document discusses using Varnish as a reverse proxy and HTTP accelerator. It begins with an overview of reverse proxies and caching, then describes how Varnish handles cache hits and misses. Specific techniques covered include using HTTP headers like Cache-Control and surrogate keys to manage caching and invalidations. The document also shows how to configure Varnish using Varnish Configuration Language (VCL) and integrate it with Rails applications and services like image processing.
Content Caching with NGINX and NGINX PlusKevin Jones
This document discusses content caching with NGINX and NGINX Plus. It provides an overview of basic caching directives like proxy_cache_path and proxy_cache. It then discusses high availability caching architectures like consistent hash, active/passive, and active/active clusters. It also covers byte range request caching and advanced cache control features in NGINX Plus like cache purging and restricting purge API access.
Mobile & Desktop Cache 2.0: How To Create A Scriptable CacheBlaze Software Inc.
This document provides an overview of how to build a scriptable cache for mobile and desktop applications. It discusses:
- The benefits of a scriptable cache like improved performance and ability to implement advanced optimizations.
- A 6 step process for building a basic scriptable cache using localStorage and dynamically loading/storing resources.
- Additional techniques like handling errors, tracking cache state and size, and implementing an LRU cache.
The document is intended to introduce the concept of a scriptable cache but notes that implementing one is not trivial and requires modifications to HTML and resources. Pseudocode is provided but may have errors and not cover all cases.
SPA2015: Hooman Beheshti – The Future of CDNsFastly
Fastly VP of Technology Hooman Beheshti gives a keynote on The Future of CDNs at Software Practice Advancement Conference 2015.
More resources: http://spaconference.org/spa2015/uploads/resources/SPA%202015%20KEYNOTE%20AND%20DIVERSIONS.pdf
This document summarizes techniques for building scalable websites with Perl, including caching whole pages, chunks of HTML/data, and using job queuing. Caching helps performance by reducing workload and scalability by lowering database load. Large sites like Yahoo cache aggressively. Job queuing prevents overloading resources and keeps websites responsive under high demand by lining requests up in a queue.
This document discusses how to boost Django performance with an Nginx reverse proxy cache. It recommends configuring Nginx as a reverse proxy in front of Gunicorn and Django to cache static and dynamic content. The Nginx configuration shown implements a proxy cache with settings for cache location, size, keys, caching responses, and headers. With this reverse proxy cache, the document claims response times can be reduced by 62%.
The document discusses techniques for improving web performance, including reducing time to first byte, using content delivery networks and HTTP compression, caching resources, keeping connections alive and reducing request sizes. It also covers optimizing images, loading JavaScript asynchronously to avoid blocking, and prefetching content. The overall goal is to reduce page load times and improve user experience.
The document discusses server architecture and different types of servers. It describes common server roles like web servers, application servers, and proxy servers. It provides examples of simple web servers written in Node.js and Ruby. Popular web servers mentioned include Nginx and Apache. Different hosting options for servers are also covered, such as virtual dedicated servers (VDS), virtual private servers (VPS), and cloud servers hosted on platforms like Amazon AWS, Google Cloud, and Microsoft Azure.
The document discusses using NGINX Plus on AWS. It provides an overview of AWS services, describes how companies use NGINX on AWS, and offers best practices for installing, configuring, load balancing, monitoring and backing up NGINX on AWS. Specific recommendations covered include launching NGINX from the AWS Marketplace, using security groups, auto scaling for load balancing, testing performance on different instance types, implementing high availability across availability zones or regions, monitoring with CloudWatch, and backing up configurations in S3.
Delivering High-Availability Web Services with NGINX Plus on AWSNGINX, Inc.
Over 1/3 of websites running on Amazon Web Services (AWS) are delivered and accelerated using NGINX. In this webinar Nginx and Amazon explain how to get started with NGINX Plus on AWS and how to further increase performance and availability of large, dynamic, cloud-based applications integrating with critical AWS services.
(Surge 2014) This is a longer version of our Velocity 2014 slides around caching dynamic content. Topic: In the past, CDNs have been used to cache and distribute static objects. But issues around invalidation, staleness, and lack of visibility have prevented us from using CDNs to fully leverage the benefits of caching when it comes to dynamic content. Today, using a real-time, modern CDN that provides instant cache invalidation and real-time analytics allows for instantaneous control over dynamic content caching.
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudAndy Kucharski
RackSpace vs Amazon EC2 stress evaluation of responding to user registration on a Drupal 6 ubercart ecommerce site test using LoadStorm.
We have stood up an eCommerce site built with Drupal6 and ubercart and stood it up on two most popular cloud providers. We then built a stress test using LoadStorm and tried to push the sites and servers to the limit. Here are the results of our experiment.
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.
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53Amazon Web Services
In this session, we show you how to use Amazon Route 53 to consolidate your DNS data and manage it centrally. Learn how to use Amazon Route 53 for public DNS and for private DNS in VPC, and also learn how to combine Amazon Route 53 private DNS with your own DNS infrastructure.
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Amazon Web Services
Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront’s dynamic delivery features that help improve the performance, scalability, and availability of your website while helping you lower your costs. We talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections, and last-mile latency improvement. Also learn how to take advantage of Amazon Route 53's health check, automatic failover, and latency-based routing to build highly available web apps on AWS.
Make Drupal Run Fast - increase page load speedAndy Kucharski
What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load.
We will cover:
- What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast”
++ Performance Module settings and how they work
++ Caching – biggest gainer and how to implement Boost
++ Other quick hits: off loading search, tweaking settings & why running crons is important
++ Ask your host about APC and how to make sure its set up correctly
++ Dare we look at the database? Easy changes that will help a lot!
- Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.
This document discusses various techniques for optimizing the frontend performance of web applications. It provides 5 rules: 1) Only optimize when it makes a meaningful difference. 2) Download resources in parallel to reduce page load time. 3) Eliminate unnecessary requests through techniques like merging, inlining, sprites and caching. 4) Defer parsing of JavaScripts when possible to improve perceived page load speeds. 5) Consider factors like server location and content delivery networks to improve global performance.
Caching the Uncacheable: Leveraging Your CDN to Cache Dynamic ContentFastly
June 25, 2014. Hooman Beheshti, VP Technology at Fastly, discusses how using a real-time, modern CDN that provides instant cache invalidation and real-time analytics allows for instantaneous control over dynamic content caching. In this session, he looks at the challenges CDNs face with dynamic content and how you can use programmatic means to fully integrate your applications with your CDN.
This talk was presented at OSCON 2009 and YAPC::NA 2009. The choices discussed here are still relevant, although Plack has opened up some new options. For a more up-to-date take on this material I would recommend Tatsuhiko Miyagawa's most recent Plack/PSGI talks.
Nginx is a web server that is faster, uses less memory and is more stable than Apache under load. It is better suited for Rails applications and cloud computing. Nginx acts as a proxy, routing requests to application servers. It can perform request filtering, like caching requests, and authentication checks without modifying Rails application code using custom Nginx modules. This allows separating infrastructure concerns from application logic.
When people hear the word NGINX, they usually associate the open source platform for its popular adoption as an HTTP web server or load balancer. What a lot of people don't know is the vast amount of powerful features contained in the platform that can be used to build an HTTP caching layer and why NGINX is often used as a framework to build powerful, scalable and highly available content delivery networks. In this talk we will dive into each unique NGINX directive and its configuration options that are available. We will show different architectural approaches that can be used to build a highly available HTTP content cache layer. We will show various other NGINX configurations that can be critical to your NGINX deployment. Walking away from this presentation, attendees will have the knowledge required to configure basic and advanced caching of their NGINX servers.
Nginx is a popular tool for load balancing and caching. It offers high performance, reliability and flexibility for load balancing through features like upstream modules, health checks, and request distribution methods. It can also improve response times and handle traffic spikes through caching static content and supporting techniques like stale caching.
This document discusses using Varnish as a reverse proxy and HTTP accelerator. It begins with an overview of reverse proxies and caching, then describes how Varnish handles cache hits and misses. Specific techniques covered include using HTTP headers like Cache-Control and surrogate keys to manage caching and invalidations. The document also shows how to configure Varnish using Varnish Configuration Language (VCL) and integrate it with Rails applications and services like image processing.
Content Caching with NGINX and NGINX PlusKevin Jones
This document discusses content caching with NGINX and NGINX Plus. It provides an overview of basic caching directives like proxy_cache_path and proxy_cache. It then discusses high availability caching architectures like consistent hash, active/passive, and active/active clusters. It also covers byte range request caching and advanced cache control features in NGINX Plus like cache purging and restricting purge API access.
Mobile & Desktop Cache 2.0: How To Create A Scriptable CacheBlaze Software Inc.
This document provides an overview of how to build a scriptable cache for mobile and desktop applications. It discusses:
- The benefits of a scriptable cache like improved performance and ability to implement advanced optimizations.
- A 6 step process for building a basic scriptable cache using localStorage and dynamically loading/storing resources.
- Additional techniques like handling errors, tracking cache state and size, and implementing an LRU cache.
The document is intended to introduce the concept of a scriptable cache but notes that implementing one is not trivial and requires modifications to HTML and resources. Pseudocode is provided but may have errors and not cover all cases.
SPA2015: Hooman Beheshti – The Future of CDNsFastly
Fastly VP of Technology Hooman Beheshti gives a keynote on The Future of CDNs at Software Practice Advancement Conference 2015.
More resources: http://spaconference.org/spa2015/uploads/resources/SPA%202015%20KEYNOTE%20AND%20DIVERSIONS.pdf
This document summarizes techniques for building scalable websites with Perl, including caching whole pages, chunks of HTML/data, and using job queuing. Caching helps performance by reducing workload and scalability by lowering database load. Large sites like Yahoo cache aggressively. Job queuing prevents overloading resources and keeps websites responsive under high demand by lining requests up in a queue.
This document discusses how to boost Django performance with an Nginx reverse proxy cache. It recommends configuring Nginx as a reverse proxy in front of Gunicorn and Django to cache static and dynamic content. The Nginx configuration shown implements a proxy cache with settings for cache location, size, keys, caching responses, and headers. With this reverse proxy cache, the document claims response times can be reduced by 62%.
The document discusses techniques for improving web performance, including reducing time to first byte, using content delivery networks and HTTP compression, caching resources, keeping connections alive and reducing request sizes. It also covers optimizing images, loading JavaScript asynchronously to avoid blocking, and prefetching content. The overall goal is to reduce page load times and improve user experience.
The document discusses server architecture and different types of servers. It describes common server roles like web servers, application servers, and proxy servers. It provides examples of simple web servers written in Node.js and Ruby. Popular web servers mentioned include Nginx and Apache. Different hosting options for servers are also covered, such as virtual dedicated servers (VDS), virtual private servers (VPS), and cloud servers hosted on platforms like Amazon AWS, Google Cloud, and Microsoft Azure.
The document discusses using NGINX Plus on AWS. It provides an overview of AWS services, describes how companies use NGINX on AWS, and offers best practices for installing, configuring, load balancing, monitoring and backing up NGINX on AWS. Specific recommendations covered include launching NGINX from the AWS Marketplace, using security groups, auto scaling for load balancing, testing performance on different instance types, implementing high availability across availability zones or regions, monitoring with CloudWatch, and backing up configurations in S3.
Delivering High-Availability Web Services with NGINX Plus on AWSNGINX, Inc.
Over 1/3 of websites running on Amazon Web Services (AWS) are delivered and accelerated using NGINX. In this webinar Nginx and Amazon explain how to get started with NGINX Plus on AWS and how to further increase performance and availability of large, dynamic, cloud-based applications integrating with critical AWS services.
(Surge 2014) This is a longer version of our Velocity 2014 slides around caching dynamic content. Topic: In the past, CDNs have been used to cache and distribute static objects. But issues around invalidation, staleness, and lack of visibility have prevented us from using CDNs to fully leverage the benefits of caching when it comes to dynamic content. Today, using a real-time, modern CDN that provides instant cache invalidation and real-time analytics allows for instantaneous control over dynamic content caching.
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudAndy Kucharski
RackSpace vs Amazon EC2 stress evaluation of responding to user registration on a Drupal 6 ubercart ecommerce site test using LoadStorm.
We have stood up an eCommerce site built with Drupal6 and ubercart and stood it up on two most popular cloud providers. We then built a stress test using LoadStorm and tried to push the sites and servers to the limit. Here are the results of our experiment.
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.
(NET308) Consolidating DNS Data in the Cloud with Amazon Route 53Amazon Web Services
In this session, we show you how to use Amazon Route 53 to consolidate your DNS data and manage it centrally. Learn how to use Amazon Route 53 for public DNS and for private DNS in VPC, and also learn how to combine Amazon Route 53 private DNS with your own DNS infrastructure.
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Amazon Web Services
Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront’s dynamic delivery features that help improve the performance, scalability, and availability of your website while helping you lower your costs. We talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections, and last-mile latency improvement. Also learn how to take advantage of Amazon Route 53's health check, automatic failover, and latency-based routing to build highly available web apps on AWS.
Make Drupal Run Fast - increase page load speedAndy Kucharski
What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load.
We will cover:
- What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast”
++ Performance Module settings and how they work
++ Caching – biggest gainer and how to implement Boost
++ Other quick hits: off loading search, tweaking settings & why running crons is important
++ Ask your host about APC and how to make sure its set up correctly
++ Dare we look at the database? Easy changes that will help a lot!
- Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.
AWS Summit London 2014 | Dynamic Content Acceleration (300)Amazon Web Services
This session is recommended for people who are new to content distribution networks (CDNs) and have a need to decrease server load and speed up their website’s load time.
In this mid-level technical session you will be able to learn more about improving the performance of web sites and web applications using Amazon CloudFront and Amazon Router 53. Learn how to assess whether your web applications will benefit from caching and how to optimize the delivery of static and dynamic content to boost performance and improve your customers' experience in using your applications.
Make Drupal Run Fast - increase page load speedPromet Source
What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load.
We will cover:
- What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast”
++ Performance Module settings and how they work
++ Caching – biggest gainer and how to implement Boost
++ Other quick hits: off loading search, tweaking settings & why running crons is important
++ Ask your host about APC and how to make sure its set up correctly
++ Dare we look at the database? Easy changes that will help a lot!
- Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.
Improve Page Render Time with Amazon CloudfrontPolyvore
Amazon's CloudFront provides a self-served CDN solution without a
contract. In this talk we will walk through the steps to set up
CloudFront. We will also talk about how we measure page render time
and take a look at how using CloudFront affects page render time for
Polyvore in different countries.
Slides from Polyvore Tech Talk #1
This document provides tips for optimizing website performance in order to improve loading speeds. It recommends using tools to analyze site speeds and calculate an optimization budget. Key optimizations include image optimization by choosing the right size and format, optimizing HTML, reducing HTTP requests by inlining JavaScript and combining files, minifying CSS and JavaScript, using a CDN, reducing time to first byte, avoiding redirects and errors, implementing caching, prefetching and preconnecting, optimizing web fonts, using GZIP compression, choosing a fast infrastructure, adopting HTTP/2, implementing hotlink protection, and serving scaled images. The document stresses that website speed is crucial because visitors have little patience and will leave slow sites.
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Amazon Web Services
Amazon CloudFront and Amazon Route 53 can help optimize web application performance and availability. CloudFront improves performance by caching static and reusable content at edge locations and optimizing delivery of dynamic content through features like keep-alive connections and latency-based routing. Route 53 provides fast, reliable DNS services and can health check origins to improve high availability. Together, CloudFront and Route 53 provide a global network that caches content close to users and routes traffic based on network conditions to optimize performance and design for failure.
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupAhmed Mohammed Nagdy
Speeding up a WordPress site involves optimizing images, using a content delivery network (CDN) to improve load times, selecting fast hosting, and implementing caching. Page speed is important for user experience and retention - users leave sites that take over 4 seconds to load. Optimizing images reduces file sizes while maintaining quality. A CDN stores content on globally distributed servers to deliver pages faster. Caching saves page content for quick retrieval to improve load times.
Metrics, metrics everywhere (but where the heck do you start?) SOASTA
This document discusses various metrics for measuring website performance and user experience. It outlines different types of metrics including:
- Network metrics like DNS resolution, TCP connection times, and time to first byte.
- Browser metrics like start render time, DOM loading/ready times, and page load times.
- Resource-level metrics obtained from the Resource Timing API like individual asset load times and response sizes.
- User-centric metrics like Speed Index, time to visible content, and metrics for single-page applications without traditional page loads.
It emphasizes the importance of measuring real user monitoring data alongside synthetic tests, and looking at higher percentiles rather than just averages due to variability in user environments and network conditions
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Cliff Crocker
This document discusses various metrics for measuring website performance. It begins by noting that there are many metrics to consider and no single metric tells the whole story. It then discusses several key metrics for measuring different aspects of performance, including:
- Front-end metrics like start render, DOM loading/ready, and page load that can isolate front-end from back-end performance.
- Network metrics like DNS and TCP timings that provide insight into connectivity issues.
- Resource timing metrics that measure individual assets to understand impacts of third parties and CDNs.
- User timing metrics like measuring above-the-fold content that capture user experience.
It emphasizes the importance of considering real user monitoring data alongside
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
There’s no one-size-fits-all approach to metrics. In this session, Cliff Crocker and I walk through various metrics that answer performance questions from multiple perspectives — from designer and DevOps to CRO and CEO. You’ll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Web caching and content distribution networks aim to improve performance and reduce bandwidth usage. Caching stores previously requested content for future use. Proxies and CDNs place cached content on edge servers near users. When a request is made, the user is redirected to the closest cached copy to minimize latency. CDNs use DNS to map requests to nearby surrogate servers that hold replicated content. This allows the content to be served locally instead of traveling over long distances to the origin server.
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
In this series of 15-minute technical flash talks you will learn directly from Amazon CloudFront engineers and their best practices on debugging caching issues, measuring performance using Real User Monitoring (RUM), and stopping malicious viewers using CloudFront and AWS WAF.
5 steps to faster web sites & HTML5 games - updated for DDDscotMichael Ewins
5 practical steps we have taken to improve page loading for web sites and HTML5 games.
1. Fewer requests
2. Smaller resources
3. Reduce the round trip time
4. Optimise the critical rendering path
5. Educate the whole team about performance
Drupal performance optimization best practices include:
- Disabling unused modules and cron on production to reduce overhead
- Configuring caching at the application level with modules like Boost and Memcache
- Optimizing server configuration through APC caching, CDN integration, browser caching, and cron job configuration
- Improving database performance by optimizing InnoDB settings and enabling the query cache
The document provides best practices for optimizing Drupal performance at the application, server, and database levels to reduce bottlenecks and improve load times.
The document provides instructions for creating and managing CloudOYECDN resources. It describes the 4 step process for creating a CDN resource including selecting the type, defining properties, selecting edge locations, and setting advanced settings. It also explains how to edit settings, check advanced reporting, integrate a website with CDN, verify the website is on CDN, and use purge and prefetch functions. Contact information is provided for sales and customer support.
When dispatcher caching is not enough... (extended version)Jakub Wadolowski
Content distribution for worldwide audience is not a trivial task. Most of the time the goal is very well known - keep your users happy and deliver them content they need as fast as you can.
There are at least two ways you can achieve that. You can build (and manage!) your own solution (AEM/dispatcher farms spread across the globe) or put a CDN in front of your application stack. The first one may sound tempting, but on second thought you quickly realize it's too much hassle and you would rather go for CDN. Regardless of the solution a set of problems stays the same.
Back in the old days you could just cache (almost) everything, as your website was pretty much static, but currently it's much more complicated. Your AEM stack is built from dynamic components that fetch data from 3rd party apps, there's a search engine under the hood and all crucial content is available for logged-in users only. To be even worse your resources are updated multiple times a day. Is it even possible to leverage CDN for that type of websites?
Have you ever tried to cache customized content that is available for authenticated users? Or authorize them at the edge? Or maybe you were crazy enough to implement CDN, not only for content served from AEM publish, but also in front of your authoring? In my talk I'd like to present you how we integrated AEM app that serves content to users distributed all over the world with heavily customizable content delivery network (Fastly).
This will be an extended version of the talk I gave at ConnectCon conference this June. Expect more details and a rich live demo on stage!
When dispatcher caching is not enough by Jakub WądołowskiAEM HUB
When dispatcher caching was no longer sufficient to address performance issues for a pharmaceutical company's iPad app and content authoring, a content delivery network (CDN) was implemented. The CDN improved performance by serving cached content closer to users globally, reducing latency significantly. Content was categorized and caching rules were defined to maximize cache hits while ensuring privacy. Authorization was handled at the edge to cache authorized user content. These changes resulted in a major performance improvement and reduced load on the origin servers.
Reducing latency on the web with the Azure CDN - DevSum - SWAGMaarten Balliauw
Serving up content on the Internet is something our web sites do daily. But are we doing this in the fastest way possible? How are users in faraway countries experiencing our apps? Why do we have three webservers serving the same content over and over again? In this session, we’ll explore the Azure Content Delivery Network or CDN, a service which makes it easy to serve up blobs, videos and other content from servers close to our users. We’ll explore simple file serving as well as some more advanced, dynamic edge caching scenarios.
AJAX allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes, allowing parts of a page to change without reloading the entire page. Tuenti uses AJAX extensively to update parts of their single-page application, caching content on both client and server sides for scalability. They route requests to different server farms based on client location and cache content to improve performance. Tuenti serves billions of images per day using multiple CDNs and pre-fetches content to minimize load times.
Similar to Getting a Grip on CDN Performance - Why and How (20)
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...ScyllaDB
Troubleshooting performance issues across distributed systems can be intimidating if you don’t know where to start, and it’s even harder when the system is running on hundreds or thousands of nodes. We’re well past the point of logging into random nodes and poking around hoping we spot the problem. It’s critical to have a methodology to follow as well as a deep understanding of the tools that are available to help you prove (or disprove) your mental model.
In this session, we’ll explore how to go about diagnosing performance problems you might run into, and teach you the tools and process for getting to the bottom of any issue, quickly -- even when it’s one of the biggest distributed database deployments on the planet.
AI_dev Europe 2024 - From OpenAI to Opensource AIRaphaël Semeteys
Navigating Between Commercial Ownership and Collaborative Openness
This presentation explores the evolution of generative AI, highlighting the trajectories of various models such as GPT-4, and examining the dynamics between commercial interests and the ethics of open collaboration. We offer an in-depth analysis of the levels of openness of different language models, assessing various components and aspects, and exploring how the (de)centralization of computing power and technology could shape the future of AI research and development. Additionally, we explore concrete examples like LLaMA and its descendants, as well as other open and collaborative projects, which illustrate the diversity and creativity in the field, while navigating the complex waters of intellectual property and licensing.
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
In this follow-up session on knowledge and prompt engineering, we will explore structured prompting, chain of thought prompting, iterative prompting, prompt optimization, emotional language prompts, and the inclusion of user signals and industry-specific data to enhance LLM performance.
Join EIS Founder & CEO Seth Earley and special guest Nick Usborne, Copywriter, Trainer, and Speaker, as they delve into these methodologies to improve AI-driven knowledge processes for employees and customers alike.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecJames Anderson
The lecture titled "Automating AppSec" delves into the critical challenges associated with manual application security (AppSec) processes and outlines strategic approaches for incorporating automation to enhance efficiency, accuracy, and scalability. The lecture is structured to highlight the inherent difficulties in traditional AppSec practices, emphasizing the labor-intensive triage of issues, the complexity of identifying responsible owners for security flaws, and the challenges of implementing security checks within CI/CD pipelines. Furthermore, it provides actionable insights on automating these processes to not only mitigate these pains but also to enable a more proactive and scalable security posture within development cycles.
The Pains of Manual AppSec:
This section will explore the time-consuming and error-prone nature of manually triaging security issues, including the difficulty of prioritizing vulnerabilities based on their actual risk to the organization. It will also discuss the challenges in determining ownership for remediation tasks, a process often complicated by cross-functional teams and microservices architectures. Additionally, the inefficiencies of manual checks within CI/CD gates will be examined, highlighting how they can delay deployments and introduce security risks.
Automating CI/CD Gates:
Here, the focus shifts to the automation of security within the CI/CD pipelines. The lecture will cover methods to seamlessly integrate security tools that automatically scan for vulnerabilities as part of the build process, thereby ensuring that security is a core component of the development lifecycle. Strategies for configuring automated gates that can block or flag builds based on the severity of detected issues will be discussed, ensuring that only secure code progresses through the pipeline.
Triaging Issues with Automation:
This segment addresses how automation can be leveraged to intelligently triage and prioritize security issues. It will cover technologies and methodologies for automatically assessing the context and potential impact of vulnerabilities, facilitating quicker and more accurate decision-making. The use of automated alerting and reporting mechanisms to ensure the right stakeholders are informed in a timely manner will also be discussed.
Identifying Ownership Automatically:
Automating the process of identifying who owns the responsibility for fixing specific security issues is critical for efficient remediation. This part of the lecture will explore tools and practices for mapping vulnerabilities to code owners, leveraging version control and project management tools.
Three Tips to Scale the Shift Left Program:
Finally, the lecture will offer three practical tips for organizations looking to scale their Shift Left security programs. These will include recommendations on fostering a security culture within development teams, employing DevSecOps principles to integrate security throughout the development
this resume for sadika shaikh bca studentSadikaShaikh7
I am a dedicated BCA student with a strong foundation in web technologies, including PHP and MySQL. I have hands-on experience in Java and Python, and a solid understanding of data structures. My technical skills are complemented by my ability to learn quickly and adapt to new challenges in the ever-evolving field of computer science.
How to Improve Your Ability to Solve Complex Performance ProblemsScyllaDB
This talk is really about problem solving. It’s about how we think about problems and how we resolve those problems in a deeply technical context. The main goal of the talk is the relay the lessons learned from a couple of decades working with and observing some of the best performance troubleshooters in the world.
The talk will be broken into 3 main parts.
1. Explain the basic process we must go through to solve a complex performance problem
2. Discuss some of the main factors that can inhibit our efforts
3. Discuss some of the techniques we can apply to improve our chances, including an almost fool proof method to reach a successful outcome
Specific technical examples from large enterprise customers using relational databases (Oracle primarily) will be used to illustrate the concepts.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
Video traffic on the Internet is constantly growing; networked multimedia applications consume a predominant share of the available Internet bandwidth. A major technical breakthrough and enabler in multimedia systems research and of industrial networked multimedia services certainly was the HTTP Adaptive Streaming (HAS) technique. This resulted in the standardization of MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) which, together with HTTP Live Streaming (HLS), is widely used for multimedia delivery in today’s networks. Existing challenges in multimedia systems research deal with the trade-off between (i) the ever-increasing content complexity, (ii) various requirements with respect to time (most importantly, latency), and (iii) quality of experience (QoE). Optimizing towards one aspect usually negatively impacts at least one of the other two aspects if not both. This situation sets the stage for our research work in the ATHENA Christian Doppler (CD) Laboratory (Adaptive Streaming over HTTP and Emerging Networked Multimedia Services; https://athena.itec.aau.at/), jointly funded by public sources and industry. In this talk, we will present selected novel approaches and research results of the first year of the ATHENA CD Lab’s operation. We will highlight HAS-related research on (i) multimedia content provisioning (machine learning for video encoding); (ii) multimedia content delivery (support of edge processing and virtualized network functions for video networking); (iii) multimedia content consumption and end-to-end aspects (player-triggered segment retransmissions to improve video playout quality); and (iv) novel QoE investigations (adaptive point cloud streaming). We will also put the work into the context of international multimedia systems research.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Blockchain and Cyber Defense Strategies in new genre timesanupriti
Explore robust defense strategies at the intersection of blockchain technology and cybersecurity. This presentation delves into proactive measures and innovative approaches to safeguarding blockchain networks against evolving cyber threats. Discover how secure blockchain implementations can enhance resilience, protect data integrity, and ensure trust in digital transactions. Gain insights into cutting-edge security protocols and best practices essential for mitigating risks in the blockchain ecosystem.
3. CDN Performance in the Real World
http://www.flickr.com/photos/59632563@N04/6261230701/
4. How we measure CDN performance
Real User Monitoring (RUM)
Download a 16 KB static file from a CDN to a
browser > send timing data to our server
More details later on how we do RUM
14. Weekdays vs Weekends (mean)
ogra phic:
ren t dem rough
Diffe conne ct th
ep eople kdays
Mor wee
prox ies on
15. What happened on June 19?
DNS time First byte time
Improvement Improvement for
for all CDNs only 2 CDNs
Better caching Object is more
at ISPs popular > gets
served from
memory now, or ...
18. Global performance
Is your CDN fast in your key countries?
http://c.turbobytes.com/static/uploads/velocity12/world-static.html
http://c.turbobytes.com/static/uploads/velocity12/world-anim.html
19. Performance varies between states
How fast is your CDN in your key states?
http://c.turbobytes.com/static/uploads/velocity12/us-state-static.html
http://c.turbobytes.com/static/uploads/velocity12/us-state-anim.html
24. Access log files of origin
No data on how fast the CDN is (duh)
Two reasons to analyze 'em:
1. Cache MISS rate
2. Spot patterns in requests from the CDN
25. Access log files of CDN
Again, no data on how fast the CDN is
Three reasons to analyze 'em:
1. Cache MISS rate
2. Spot patterns in requests from the CDN
3. Spot HITs from far-away POPs
28. Real browser synthetic monitoring
Catchpoint, Gomez, WebPagetest etc.
Real browser, but
– Still in a datacenter
– Not your real users
no cigar
C lose , but
29. With-CDN versus Without-CDN
How much faster do your pages load?
WebPagetest:
SetDNSName cdn.domain.com www.domain.com
overrideHost cdn.domain.com www.domain.com
navigate www.domain.com
30. Google Analytics User Timings
var startTime;
function loadJs(url, callback) {
var js = document.createElement('script');
js.async = js.src = url;
var s = document.getElementsByTagName('script')[0];
less
js.onload = callback;
Use
startTime = new Date().getTime();
s.parentNode.insertBefore(js, s);
}
function myCallback() {
var endTime = new Date().getTime();
_gaq.push(['_trackTiming', 'jQuery', 'Load Library', new Date().getTime() -
startTime, 'Google CDN', 50]);
};
loadJs('//hostname/path/to/jquery.min.js', myCallback);
https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingTiming
31. Resource Timing API
'Navigation Timing for page resources'
Cross-origin resources must be sent with
Timing-Allow-Origin:example.com header for
API to expose load time details (DNS, etc.)
Easy: send header from origin, so CDN sends it too
Future!
http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html
32. How we do RUM
http://www.flickr.com/photos/like_the_grand_canyon/4580931101/
33. Starting points
Measure small object delivery over HTTP
We want the details, not just total load time
Few beacons from many users, not many
beacons from few users
No impact on UX
35. What we actually do
Navigation Timing API
loadTime = responseEnd – domainLookupStart
2 lines JS on main page; exec after window.onload
Load rum.js async (not in IE6-8)
Check localStorage which CDNs may be used
Load 16 kb HTML file from CDN, in invisible iframe
postMessage timing data from iframe to parent
Don't wait longer than 5 seconds
Update localStorage & beacon to server
36. Not all data is good data
NT API implementation is poor in some browsers
Ignore FF<9 & Chrome Frame
We see odd data in Chrome and IE9 too
Server side checks include:
Is DNS time >0?
Is Connect time > 0?
Is TTFB >0?
37. Tips for improving CDN performance
http://www.flickr.com/photos/ol1/5539623423/
38. 1
Set a high initcwnd
íf the CDN has a large receive window
http://www.flickr.com/photos/59632563@N04/6261230701/