What's New: Performance Testing before Go-Live with Performance Toolkit (2023 release wave 2)
Business Central Performance Toolkit (BCPT) is a multi-user benchmarking tool for testing performance before go-live. The video covers a plan, run, analyze approach, version 23 AL Go support with baseline comparison, test scenarios sourced from GitHub, and analysis with Power BI telemetry reports.
- Introduction to Performance Testing and BCPT
- The Aliens Story: Real-World Performance Scenarios
- What is BCPT and When to Use It
- Three-Step Approach: Plan, Run, Analyze
- Running Tests and Automation Options
- Version 23 Features and Baseline Comparison
- Open Source Test Scenarios from GitHub
- Analyzing Results with Power BI and Telemetry
- Performance Insights: Deadlocks, Locking, and Stack Traces
- Future Vision and Five Pillars of Success
- Remove Friction and Change Culture
- Community Collaboration and Ambassador Program
- Documentation and Resources
- Action Items and Closing Remarks
Overview
The session introduces BCPT, which simulates multiple users running at the same time to measure performance, detect locking issues and test a system under load. It frames pre-go-live performance testing as three steps: plan, run, analyze.
It shows that in version 23 BCPT works out of the box in AL Go, with a BCPT workload, test scenarios and comparison to a baseline run. Test code can be sourced from GitHub, where 22 scenarios exist and partners are asked to contribute more. Results are analyzed with the Power BI app on telemetry, covering deadlocks, database lock timeouts, AL stack traces and SQL statements. The talk closes with five pillars (remove friction, change the culture, collaborate with the community, enroll ambassadors, better readiness material) and points to aka.ms/bcpt for documentation.
Key points
- BCPT is a multi-user benchmarking tool: it simulates concurrent users, measures performance, detects locking issues and tests load.
- In version 23, BCPT is available out of the box in AL Go: add a BCPT workload, run scenarios and compare against a baseline run.
- BCPT can source test code from GitHub instead of having it built in. 22 scenarios are currently available, and partners are encouraged to contribute more.
- Enable telemetry before the test run. Otherwise the Power BI app on telemetry has no data for the performance toolkit results, deadlock and database lock timeout pages.
- BCPT is strongest for concurrency testing, where it surfaces deadlocks and database lock timeouts. It runs everything in background sessions.
- Baseline comparison can show SQL statement count changes after code changes. Duration differences can vary with environment stability.
- Reports include AL stack traces (top and bottom of the call stack) and SQL statement analysis. Documentation, personas and an FAQ are at aka.ms/bcpt.
Features
| Feature | Status | At |
|---|---|---|
| Business Central Performance Toolkit (BCPT) | status not stated | 4:03 |
| BCPT DevOps Pipeline Integration | status not stated | 8:17 |
| Version 23 BCPT Out-of-Box DevOps Support | status not stated, demoed | 9:51 |
| GitHub-Based Test Scenario Sourcing | status not stated, demoed | 11:17 |
| Power BI Telemetry Reports for Performance Analysis | status not stated | 13:54 |
| Concurrency Testing and Deadlock Detection | status not stated | 14:11 |
| SQL Statement Regression Detection | status not stated | 10:23 |
| KQL-based Test Results Analysis | status not stated | 13:43 |
| DevOps Integration with Performance Reports | status not stated | 13:43 |
| Database Lock Timeout Diagnostics | status not stated | 14:56 |
| AL Stack Trace Analysis | status not stated | 15:27 |
| SQL Query Analysis for Performance | status not stated | 15:49 |
| BCPT Open Source Capabilities | status not stated | 16:48 |
| BCPT Documentation and Personas | status not stated | 18:48 |
| BCPT Pre-Sales Load Testing Guidance | status not stated | 19:13 |
| BCPT FAQ Documentation | status not stated | 19:58 |
AL objects mentioned
As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.
- other “Business Central Performance Toolkit (BCPT)” at 4:03
- other “AL Go” at 8:17
- other “Power BI app on telemetry” at 8:43
- other “BCPT” at 14:11
- other “Business Central Performance Toolkit” at 15:15
Quotes
- 4:03 “It’s called Business Central Performance Toolkit, or BCPT. With Microsoft, we abbreviate everything. It’s a multi-user benchmarking tool.”
- 4:14 “You can simulate multiple users running simultaneously. You can measure performance, detect locking issues, and test usage on a system under load.”
- 6:00 “Testing performance before go live should be as simple as 1 2 3.”
- 9:40 “actually in version 22, it was possible to run BCP TS part of AL Go.”
- 9:51 “But um but right now in version 23, it’s just out of the box. You can run test uh at a test app of”
- 10:45 “But the num- the number of SQL statements is is something that you definitely can trust if it goes up.”
- 11:17 “Well, in version 23, the toolkit itself can source the test codes from GitHub. So, no need necessarily to bake it in.”
- 12:52 “So, right now we have 22 scenarios available scenarios available on GitHub and hopefully many more to come.”
- 13:22 “with good coverage instead of 22, maybe 222 or 2,200 like the different scenarios that that really cover the application”
- 13:54 “So if you have enabled telemetry before the test run, you have data on a lot of things.”
- 14:11 “where it really shines is concurrency testing that you have concurrent scenarios running. This is where you where you kind of flesh out deadlocks”
- 15:15 “all be background because the Business Central uh performance toolkit uh runs everything with background sessions.”
- 16:23 “We we thought of different ingredients of success. It’s not a prioritized list, but things we wanted to have to happen to this tool”
- 17:11 “over time think of this as just part of your normal go live or your normal practice.”
- 18:48 “We invested in getting better documentations uh and uh defining hopefully defining the personas and scenarios”
- 21:27 “So what if 3,000 partners out there contribute a little bit every day? I’m pretty sure that we together can build a pretty decent”
