Batch size trades one user's speed for the whole server's efficiency. As the batch grows, total tokens per second climb, because each weight read serves more sequences. But each user's own streaming speed drifts down, because more sequences share each step. A worked chart for a 13B model on one H100 draws total throughput rising from about 42 to about 1,250 tokens a second between batch sizes 1 and 64, while each user's speed falls from about 42 to about 20. Treat those as illustrative, not measured.
The right setting is a product decision. A chat app caps the batch so text still streams briskly for each person. An overnight summarization job pushes the batch as high as memory allows, because only total throughput matters. A clean method is to pick a minimum per-user tokens per second as your service level, then raise the batch until you are about to break it.
Because a GPU rents at a fixed hourly price, cost per token follows throughput directly. At 3 dollars an hour and 40 tokens a second, the GPU produces 144,000 tokens an hour, so a million tokens cost 3 / 0.144, about 20.83 dollars. At 560 tokens a second it produces 2,016,000 tokens an hour, about 1.49 dollars per million. The throughput figures are assumptions for the example; the arithmetic is what to reuse with your own measured numbers.