IRC server slow with sending messages to clients

I don’t know python that well, but you seem to only have a single event loop, which runs all of its callbacks and events on a single thread. Something blocks and everything waits for it.

An event loop runs in a thread and executes all callbacks and tasks in the same thread. While a task is running in the event loop, no other task is running in the same thread.

That’s only if there is something to read.