wrk is an alternative to Apache Bench, a.k.a. ab:

wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueu

You can also control requests inside wrk via Lua:

wrk supports executing a LuaJIT script during three distinct phases: setup, running, and done. Each wrk thread has an independent scripting environment and the setup & done phases execute in a separate environment which does not participate in the running phase.