Skip to content

Repository files navigation

🚀 Introduction

Welcome to the LPS Tool – your ultimate companion for Load, Performance, and Stress testing!

🛠️ The LPS Tool (Load, Performance, and Stress Testing Command Tool) is a flexible framework for testing your web application's performance under simulated load.

🌟 Key Highlights

  • 🔁 Built on Rounds and Iterations for structured testing
  • 🎛️ Offers flexible Iteration Modes to simulate real-world traffic
  • 📊 Helps evaluate system scalability, endurance, and resilience
  • ⚙️ Empowers developers and QA engineers with powerful testing scenarios

💻 Installation Guide

🧭 LPS Tool is cross-platform – it works on Windows, Linux, and macOS!

🛠️ Quick Install (Recommended)

You can now install the LPS Tool directly from NuGet as a global .NET CLI tool:

dotnet tool install --global lps

Requirements:
Make sure you have .NET 8 SDK or Runtime installed on your machine.

After installation, you can run LPS from anywhere using:

lps --version

That’s it! You’re ready to start load testing with LPS Tool.


⚡ Quick Test Examples

1️⃣ Ramp up 1000 clients gradually

lps --url https://www.example.com --numberofclients 1000 --arrivaldelay 100

📎 Starts 1000 clients gradually with a 100 ms delay between client arrivals


2️⃣ Simple GET Request

lps --url https://www.example.com -rc 1000

📎 Sends 1000 GET requests to the specified URL


3️⃣ POST Request with Inline Payload

lps --url https://www.example.com -rc 1000 --httpmethod "POST" --payload "Inline Payload"

📎 Sends 1000 POST requests with a plain text payload


4️⃣ POST Request with File Payload

lps --url https://www.example.com -rc 1000 --httpmethod "POST" --payload "Path:C:\Users\User\Desktop\LPS\urnice.json"

📎 Sends 1000 POST requests using a JSON file as payload


5️⃣ POST Request with Payload URL

lps --url https://www.example.com -rc 1000 --httpmethod "POST" --payload "URL:https://www.example.com/payload"

📎 Sends 1000 POST requests where the payload is fetched from a URL


🌐 Distributed Load Testing

🌍 Distributed testing is supported starting from v2.0.2_preview.

📖 Learn more in the Distributed Load Testing Article


📚 LPS Documentation

Explore full docs in the 📖 LPS Docs Repo

Key Sections:

🚨 Important Notice

⚠️ Warning: This documentation applies only to version 2.0_Preview and above of the LPS Tool. For earlier versions, please visit the readme.md in each version's directory.

⚠️ Note: Version 2.x is NOT backward compatible with 1.x.

🔄 Breaking Change in v3.0.2.6: The failureCriteria and old terminationRules formats have been permanently removed. The last version supporting the old format was v3.0.2.5. See the Migration Guide for details on the new failureRules and terminationRules inline metric expression format.


About

Load Testing Tool

Resources

Stars

30 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages