Skip to content

acceptor need threadpool? #850

@zhoufudun

Description

@zhoufudun

my thinking:

QuickFixJ is built on top of MINA, and MINA allows configuring the number of Processor threads. Assuming there are 10,000 connections, generally, configuring the Processor threads to 100-200 is sufficient. Let’s say we configure 100 Processor threads; on average, each Processor thread handles the read and write requests of 100 clients.

Currently, in QuickFixJ, a separate thread is allocated for each client at the business layer to execute business logic. Messages can be initiated by the client or sent by the server to the client. Even if the messages from the client are processed quickly and responses are sent promptly, these responses need to be executed by MINA’s Processor threads to be truly sent to the remote client.

Therefore, the performance bottleneck lies in MINA rather than QuickFixJ. QuickFixJ can fully utilize a thread pool at the business layer for execution,Additionally, a thread pool can mitigate the risk of creating too many threads.

Is it necessary to do this? If so, I’ll create a pull request。 look forward to hearing from you on this matter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions