我想知道与 .NET 的 TcpClient 建立重复的 TCP 连接会在多大程度上影响应用程序的性能。
我正在处理的应用程序最初是一个客户端/服务器应用程序,旨在让客户端和服务器位于同一个 LAN 网络上。
我们已删除客户端上的 ODBC 数据库连接,并使用自定义服务器,该服务器在从数据库读取二进制数据后使用协议缓冲区提供二进制数据。
我们的代码为每个 SQL 语句连接到服务器,序列化结果以类似于 DataTable 的结构返回。
在我们公司的网络上,应用程序非常快,但是我们已经开始使用远程客户端进行测试,并且遇到了延迟问题。我们的服务器在东海岸,我们的远程客户端在西海岸。
我怀疑为每个 SQL 语句打开连接的开销实际上是远程客户端的瓶颈,但是我不确定这一点。
我的问题:反复打开 TCP 连接是性能瓶颈吗?持久连接会提高性能吗?如果我们使用持久连接会有什么问题?