You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2020/08/21 09:47:00 UTC

[jira] [Created] (IGNITE-13378) .NET: Thin Client: Use non-blocking socket IO

Pavel Tupitsyn created IGNITE-13378:
---------------------------------------

             Summary: .NET: Thin Client: Use non-blocking socket IO
                 Key: IGNITE-13378
                 URL: https://issues.apache.org/jira/browse/IGNITE-13378
             Project: Ignite
          Issue Type: Bug
          Components: platforms
    Affects Versions: 2.4
            Reporter: Pavel Tupitsyn
            Assignee: Pavel Tupitsyn


.NET Thin Client was initially developed for Windows and .NET Framework. Benchmarks at that time proved that blocking socket IO was faster for single-threaded workload, and we developed a solution with a dedicated thread for response handling, and async APIs use blocking writes.

We may want to reconsider this design:
* Scalability is often more important than single-threaded performance
* .NET Core has many perf improvements over .NET Framework

Investigate async socket IO performance on .NET Core 3.x/5.x compared to the current approach on Windows and Linux and refactor ClientSocket accordingly to avoid any blocking and a dedicated thread usage.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)