In this paper, we present QPack, a benchmark for NISQ era quantum computers using QAOA algorithms. Unlike other evaluation metrics in the field, this benchmark evaluates not only one, but multiple important aspects of quantum computing hardware: the maximum problem size a quantum computer can solve, the required run-time, as well as the achieved accuracy. This benchmark will also be available for quantum simulators, where it is able to assess the run-time and required memory that a simulator needs to run the application. The applications MaxCut, dominating set and traveling salesman are included to provide variation in resource requirements. We also discuss the design aspects that are taken in consideration for an optimal benchmark, with critical quantum benchmark requirements in mind. An implementation strategy is presented, providing practical metrics. The measurement results show how QAOA can be optimized using classical optimization algorithms, suggesting the use of a global/local optimizer hybrid implementation. The implementation of the MaxCut, dominating set and traveling salesman problem show that different QAOA applications use a wide variety of quantum resources. This will allow for a diverse benchmark that promotes optimal design considerations, avoiding hardware implementations for specific applications.