Skip to content

zabio3/web_performance_insights

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web_performance_insights

Repository for web content performance verification

Overview

  • Measure web content performance using PageSpeed Insights.

    • Use ngrok to expose local environment to the internet for measurement
    • Dynamically rewrite target FQDN to ngrok-issued FQDN using OpenResty
  • For content compression: httrack or wget -r -np <target_url>

Version

  • Tested on CentOS 7 and Amazon Linux

Architecture

First Cache

  • Pre-cache content on the cache server

First Cache

Measurement

  • Sequence diagram of request flow when accessing the target FQDN top page
Cached Content (Target FQDN)

Cached Content

Uncached Content (Target FQDN)

Uncached Content

Non-Target FQDN Content

Non-Target FQDN Content

Usage

AWS Deployment

  • Register AWS CLI credentials beforehand. Set instance type, subnet id, ami id, key, etc. in configuration.tf.
cd terraform
terraform apply

Server Setup

cd playbook
ansible-playbook build.yml

Proxy Server (OpenResty) Setup

docker-compose build openresty_proxy
docker-compose up -d openresty_proxy

Generate New Proxy Config

  • Generate ngrok address beforehand (for exposing proxy server externally. Set cache server address as second argument if using cache server in front)
sh bin/create_fqdn_conf.sh <target_fqdn> <front_address>

Delete Proxy Config

  • Delete proxy server config (soft delete)
sh bin/delete_fqdn_conf.sh <target_fqdn>

Cache Server (Nuster) Setup

docker-compose build nuster_cache
docker-compose up -d nuster_cache

Multi-Browser Testing

npm install -g selenium-webdriver

Additional Documentation

About

web perfomance measure test(nuster + openresty)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors