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)
|