But the asynchronous, event‑driven approach still has a problem. Or, as I like to think of it, an ‘enemy’. And the name of the enemy is: blocking. Unfortunately, many third‑party modules use blocking calls, and users (and sometimes even the developers of the modules) aren’t aware of the drawbacks. Blocking operations can ruin NGINX performance and must be avoided at all costs.