factor out app.dispatch()
fix http bench