All Projects → liquidweb → Woocommerce Loadimpact

liquidweb / Woocommerce Loadimpact

Licence: mit
Scenarios for `loadimpact.com`, written against Liquid Web's WooCommerce sample data.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Woocommerce Loadimpact

Code Snippets Wp Speed Up
Code Snippets for WordPress and WooCommerce speed up, which can be imported into the plugin.
Stars: ✭ 168 (+888.24%)
Mutual labels:  wordpress, woocommerce, performance
Performance Improvements For Woocommerce
Performance tweaks for the front-end and back-end of a store.
Stars: ✭ 46 (+170.59%)
Mutual labels:  wordpress, woocommerce, performance
Awesome Wp Speed Up
Plugins and resources to speed up and optimize your WordPress site.
Stars: ✭ 375 (+2105.88%)
Mutual labels:  wordpress, performance
Pwa Theme Woocommerce
E-commerce Progressive Web App Theme (React & Redux)
Stars: ✭ 382 (+2147.06%)
Mutual labels:  wordpress, woocommerce
Intervention
WordPress plugin to configure wp-admin and application state using a single config file.
Stars: ✭ 481 (+2729.41%)
Mutual labels:  wordpress, woocommerce
Woocommerce Pos
🏪 A simple front-end for taking WooCommerce orders at the Point of Sale.
Stars: ✭ 318 (+1770.59%)
Mutual labels:  wordpress, woocommerce
Woo Next
🚀 React WooCommerce theme, built with Next JS, Webpack, Babel, Node, Express, using GraphQL and Apollo Client
Stars: ✭ 342 (+1911.76%)
Mutual labels:  wordpress, woocommerce
Performance
⏱ PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.
Stars: ✭ 429 (+2423.53%)
Mutual labels:  performance, performance-testing
Web Tooling Benchmark
JavaScript benchmark for common web developer workloads
Stars: ✭ 290 (+1605.88%)
Mutual labels:  performance, performance-testing
Wordops
Install and manage a high performance WordPress stack with a few keystrokes
Stars: ✭ 649 (+3717.65%)
Mutual labels:  wordpress, performance
Youku Sdk Tool Woodpecker
In-app-debug tool for iOS
Stars: ✭ 600 (+3429.41%)
Mutual labels:  performance, performance-testing
Boomer
A better load generator for locust, written in golang.
Stars: ✭ 734 (+4217.65%)
Mutual labels:  performance, performance-testing
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (+1729.41%)
Mutual labels:  wordpress, woocommerce
Gatsby Woocommerce Themes
⚡ A Gatsby Theme for WooCommerce E-commerce site Gatsby WooCommerce WordPress
Stars: ✭ 306 (+1700%)
Mutual labels:  wordpress, woocommerce
Laps
Light WordPress profiler.
Stars: ✭ 368 (+2064.71%)
Mutual labels:  wordpress, performance
Minit
A WordPress plugin to combine CSS and Javascript files.
Stars: ✭ 293 (+1623.53%)
Mutual labels:  wordpress, performance
Woocommerce Custom Orders Table
Store WooCommerce order data in a custom table for improved performance.
Stars: ✭ 415 (+2341.18%)
Mutual labels:  wordpress, woocommerce
Storefront
Official theme for WooCommerce
Stars: ✭ 762 (+4382.35%)
Mutual labels:  wordpress, woocommerce
Performance Testing Framework
Framework allows to perform load testing with Apache Jmeter, view application/server metrics in real-time with Grafana, analyze errors cause with detailed traces for failed requests, compare different test runs in scripted dashboard and perform frontend performance testing with sitespeed.io+webpagetest
Stars: ✭ 275 (+1517.65%)
Mutual labels:  performance, performance-testing
Awesome Woocommerce
Plugins and code snippets to improve your WooCommerce store.
Stars: ✭ 279 (+1541.18%)
Mutual labels:  wordpress, woocommerce

Load Impact Tests for WooCommerce

Scenarios for loadimpact.com, written against Liquid Web's WooCommerce sample data.

Logged Out (cached) Scenarios

  • [x] Browse site (4 pages)
  • [x] Browse site (8 pages)
  • [x] Search for single product
  • [x] Search for single product (alternate)
  • [x] Search for multiple (4) products
  • [x] Search for multiple (6) products
  • [x] Add-to-cart, check out

Logged In (uncached) Scenarios

  • [x] Browse site (4 pages)
  • [x] Browse site (8 pages)
  • [x] Search for single product
  • [x] Search for single product (alternate)
  • [x] Search for multiple (4) products
  • [x] Search for multiple (6) products
  • [x] Add-to-cart, check out
  • [x] Visit "My Account" > "Dashboard"
  • [x] Visit "My Account" > "Orders"
  • [x] Visit "My Account" > "Downloads"
  • [x] Visit "My Account" > "Addresses"
  • [x] Visit "My Account" > "Account Details"

Creating Your Logged In Test User Account

On your site, create an account using wapuu as the username. Make sure to set the account role to "Customer". Use whatever strong password you'd like.

Once you've set your password, use your favorite text editor (we like Atom) to do a global find (command+shift+f in Atom) for the passwords-in-git-repos-is-a-bad-idea string in the logged-in directory. Replace that string with whatever you have used for the wapuu account's password.

Running Your Tests

In order to point these scenarios at your site, you will need to perform a global find and replace (command+shift+f in Atom) across all of the .lua files in this repository. Replace the string managed-woocommerce.liquidwebsites.com with whatever you happen to be using as your domain.

To mimic the tests that Liquid Web's Managed WooCommerce team used during the refinement of our offering, we suggest that you use the following settings as a baseline:

Logged Out — Browse or Search Scenarios

Note: These scenarios test cached traffic performance.

  • Load zone: Ashburn, US
  • Advanced settings:
    • Max VU: 500, Duration (min): 5
    • Max VU: 500, Duration (min): 10
    • Emulate: Chrome over an Unlimited network

These settings ramp the test up from 0 to 500 virtual users over 5 minutes and then sustains 500 virtual users for an additional 10 minutes.

Logged Out — Checkout Scenario

Note: This scenario tests both cached and uncached traffic performance.

  • Load zone: Ashburn, US
  • Advanced settings:
    • Max VU: 200, Duration (min): 5
    • Max VU: 200, Duration (min): 10
    • Emulate: Chrome over an Unlimited network

These settings ramp the test up from 0 to 200 virtual users over 5 minutes and then sustains 200 virtual users for an additional 10 minutes.

Logged In — All Scenarios

Note: These scenarios test uncached traffic performance.

  • Load zone: Ashburn, US
  • Advanced settings:
    • Max VU: 100, Duration (min): 5
    • Max VU: 100, Duration (min): 10
    • Emulate: Chrome over an Unlimited network

These settings ramp the test up from 0 to 100 virtual users over 5 minutes and then sustains 100 virtual users for an additional 10 minutes.

Gauging VU Limits

If you find that the baseline numbers are too high (slow load times) or too low (below ~1.5 seconds), you may need to adjust the number of Max VUs for your test. While sub second load times are always a good thing for users, most people use testing to figure out their site's limits.

So while it's good to know that your site can serve pages in ~900ms to 500 VUs browsing cached traffic, it's better to know how many VUs your site can handle before the average page load gets to 5 (or even 10) seconds. Better still is knowing when your server starts throwing 5XX errors under load.

There are two schools of thought on increasing the number of VUs during testing:

  1. Increase VUs incrementally, by adding 25 to 50 users to your test. This method can burn through tests if you're on one of the lower tier Load Impact plans, but is good for dialing in exact numbers.
  2. Increase VUs drastically, by adding 100, 200, or more users to your test. If you're trying to figure out the high end of your test, this is the way to go. By watching the average load time and comparing it to the number of VUs on the graph, you can see where your average starts to spike and even when server errors start to surface.

The same methods work for decreasing the number of VUs as well. Examine your graphs, figure out where things fall apart and go from there.

Loading In Sample Data

The CSV in this repository contains WooCommerce product data that can be imported via "Tools -> Import -> WooCommerce products (CSV)". The tests have been written with this data in mind and will need to be rewritten if you wish to use other products.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].