DeWu Full-Chain Load Testing Platform: Design and Implementation
DeWu’s new full‑chain load‑testing platform replaces expensive 1:1 replica environments with a decentralized, container‑based system that isolates test data via middleware markers, supports multiple protocols (HTTP, Dubbo, gRPC, WebSocket, JDBC, Java), offers fixed‑QPS and thread modes, auto‑generates detailed reports, and achieves low CPU/memory usage while paving the way for future features such as data sanitization and dynamic throughput adjustment.
Before production load testing, DeWu used 1:1 replica environments, which were costly and not fully realistic. To reduce cost while maintaining high fidelity, a full‑chain production environment load testing approach was adopted.
The core challenge is data isolation: test traffic must not pollute live data. Using the Fusion scaffolding middleware, markers are propagated through RPC, Redis, DB, MQ, and threads; test data is written to shadow databases, enabling full‑chain testing at the middleware layer.
After years of using an open‑source platform, DeWu built its own platform (a customized JMeter) supporting protocols such as Dubbo, HTTP, gRPC, WebSocket, Java, and modes like fixed QPS/TPS or thread‑count based testing. The platform automatically generates comprehensive reports and runs on containerized load‑generator machines, lowering cost and improving stability.
Supporting fixed QPS mode allows precise control of traffic according to domain‑specific QPS/TPS targets, reducing preparation time and preventing accidental overload of production services.
Platform Features
Full‑chain high‑concurrency testing
Multi‑protocol support: HTTP, Dubbo, WebSocket, gRPC, JDBC, Java
Concurrent and throughput testing modes
Internal and external network testing
Online script configuration linkage
Dynamic resource pool with on‑demand container allocation
Master‑less load generation to eliminate bottlenecks
Self‑monitoring of load generators
Automatic report generation with QPS & response‑time curves
Scheduled task automation
Single‑request debugging
The architecture replaces the master‑slave JMeter cluster with a decentralized design where each node acts as an independent master, improving scalability, availability, and cost.
Testing Process
1. Pre‑test: resource estimation, JMX script development, parameter upload, QPS target setting.
2. During test: the control UI injects a BackendListener to InfluxDB; Grafana visualizes metrics such as total requests, errors, QPS/TPS, per‑interface and per‑generator stats, average and 95th‑percentile response times.
3. Post‑test: after completion, the service aggregates InfluxDB data, stores summary in MySQL, and saves raw series metadata to HDFS.
Test results show average CPU usage of 30% and memory usage of 50% on load generators, with healthy InfluxDB performance.
Future Outlook
Data sanitization and amplification for test data generation
Online adjustment of throughput
GUI‑driven JMX component editing to lower the learning curve
Support for additional protocols such as RocketMQ
Automatic pass‑rate analysis and self‑circuit‑breaker
Automated test plan generation from traffic recording
The DeWu load testing platform continues to evolve, providing a reference for building robust performance testing solutions.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
DeWu Technology
A platform for sharing and discussing tech knowledge, guiding you toward the cloud of technology.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
