Recently I worked on a project that was using synchronous IO in an async framework -- That tanked performance immediately and effectively meant that the application could service one request at a time while subsequent requests started queuing.
(Agreed that synchronous IO can serve hundreds of requests per second with the right threading model)
(Agreed that synchronous IO can serve hundreds of requests per second with the right threading model)