Share the engine's event loop verified
A plugin runs inside the engine's libev loop, and gets watchers and timers rather than threads.
In detail
The engine hands over its loop, so asynchronous work — a lookup in another service, a database query — is done with an IO watcher or a timer, never by blocking. That constraint is the whole design: a plugin that blocks stops the node, not just its own connection. A node whose throughput collapses when a particular plugin is loaded is usually a plugin doing synchronous work, and this group is where one would look.