Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Unix Domain Sockets #118

Closed
caleblloyd opened this issue Oct 22, 2016 · 3 comments
Closed

Support Unix Domain Sockets #118

caleblloyd opened this issue Oct 22, 2016 · 3 comments

Comments

@caleblloyd
Copy link
Contributor

caleblloyd commented Oct 22, 2016

"In Unix environment with Mono, this can be a fully qualified path to MySQL socket filename. With this configuration, the Unix socket will be used instead of TCP/IP socket. Currently only a single socket name can be given so accessing MySQL in a replicated environment using Unix sockets is not currently supported."
#117 proposes a theory that TCP buffering may be causing slowdowns. Implementing Unix Domain Sockets will allow for benchmarking the library while circumventing the TCP layer, giving a better idea of the performance potential of the library without TCP.

@caleblloyd
Copy link
Contributor Author

caleblloyd commented Oct 22, 2016

I have a WIP of this here: caleblloyd@315e57b

I am stuck at trying to get Socket.Connect to connect to a Unix Domain Socket. See my question on Stack Overflow for more information.

@caleblloyd
Copy link
Contributor Author

caleblloyd commented Oct 22, 2016

I solved connecting to a Unix Domain Socket by copying UnixEndPoint.cs from the Mono.Posix package.

New working WIP is at caleblloyd@1ac303e. Initial performance tests do not result in a much higher throughput than TCP, so retransmissions may not be what is holding performance down as originally thought in #117. Retransmissions may just be a side effect of pauses caused by Garbage Collection or context switching.

I'm going to wait for #115 to land before opening a PR for Unix Domain Sockets to avoid introducing merge conflicts.

@bgrainger
Copy link
Member

bgrainger commented Oct 22, 2016

Merged #115 (to unblock you); will fix minor code issues with it later.

caleblloyd added a commit to caleblloyd/MySqlConnector that referenced this issue Oct 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants