dotnet / crank

Benchmarking infrastructure for applications
MIT License
991 stars 106 forks source link

wrong architecture wrk downloaded #231

Open RobertHenry6bev opened 3 years ago

RobertHenry6bev commented 3 years ago

When crank is run on an ARM64 linux machine it receives the 'wrk' load generator from somewhere, but that 'wrk' binary is an x86-64 binary, so is useless in the arm64 environment.

I haven't tried wrk2 or bombardier

sebastienros commented 3 years ago

I think the latest version returns an error with a message that says that wrk doesn't work on arm. If you are able to build wrk for arm64 I would be happy to integrate it.

RobertHenry6bev commented 3 years ago

I switched to bombardier, which works fine aross platforms.

RobertHenry6bev commented 3 years ago

I switched to bombardier, which works fine aross platforms.

a74nh commented 1 year ago

Hi - I was trying to use crank on Arm64 Linux and ran into the same error.

On Arm64 Ubuntu 22.04 I can install wrk via apt. (sudo apt install wrk). I also tried building wrk from source, and it built without any issues (although I'm not sure if the resulting build is any good).

I tried commenting out the error messages in src/Microsoft.Crank.Jobs.Wrk/Program.cs my build of crank. but running it, crank seems to download another version of itself into/tmp/benchmarks-agent/benchmarks-server-, which still has the error message. (This may or may not be because I'm using crank from aspnet/Benchmarks)

Is this something that can now easily be fixed? (I'm new to crank and wrk so not sure if there are additional dependencies I'm missing).

RobertHenry6bev commented 1 year ago

Running on Windows on ARM, I see the crank is downloading from https://github.com/codesenberg/bombardier/releases/tag/v1.2.5 the windows-amd64.exe and running that. It runs, but presumably slower than it would if it were a native windows-arm64 binary.

I thought you were building your own windows arm64 bombardier and distributing that to the crank runners?