Load testing for xk6-browser in the cloud

Hi Manuel, welcome to the forum! We’re glad you’re enjoying the tool :slight_smile:

Like @rdt.one mentioned, xk6-browser is not available in the k6 Cloud yet. We have some ongoing plans to do that soon, but we can’t provide an ETA yet.

Your use case for WebGL is interesting. How has your experience been so far testing the extension on your local machine?

Since WebGL will require a discrete GPU to be performant, this complicates things substantially:

  • the Cloud instances will likely be more expensive than regular ones where a GPU is not a requirement.

  • How would multiple browser processes using WebGL on the same GPU work? Is that supported, and if so, what is the performance impact? I guess it would depend on the app itself, but all of this might raise resource requirements–and thus cost–significantly.

I would add that WebGL and GPU support in the Cloud is a step beyond making xk6-browser usable on regular sites. So I really can’t say when or if that will be prioritized.

Regarding your 100.000 (VUs?) point, note that xk6-browser is not really meant to be used for load testing, but for functional/E2E/frontend testing. This is simply because a browser process is launched per VU, which is much heavier on system resources than k6’s virtual users.

To give you an idea, testing a relatively simple site like https://test.k6.io/ launches a Chromium process that consumes around 200MB RAM on my machine, and doesn’t use much CPU. Note that this usage is in addition to regular k6 memory usage, which might be in the tens of MB per VU, depending on your JS script. So launching thousands of xk6-browser VUs on a single machine will likely not be possible, unless you have a very powerful machine (think hundreds of GBs or even TB+ of RAM).

We’ve yet to measure the performance and system requirements needed for regular xk6-browser tests, let alone WebGL ones, but my point is that you shouldn’t expect to use the tool for load testing, but for functional/E2E/frontend testing instead. There’s nothing practically preventing you from doing that, it’s just that it will be very costly to deploy, either locally or in the Cloud.

Let us know if you have any more questions, and we’d love to hear your feedback so far. Cheers!