我的组织设置了一个配置为使用 SSL over HTTP 的 Spark Thrift 服务器。目的是使 Power BI 能够通过 Spark 安全地检索数据。但是,简单地检索模式信息可能需要 10 分钟,前 1000 行数据还需要 10 多分钟!
显然,这是行不通的,所以我们开始了消除过程。我们捕获了大量数据和其他细节,但我认为我们的发现可以归结为:
- Wireshark 用于 Power BI 计算机。这表明 Power BI 大部分时间都在等待数据包:而不是客户端的处理。
- 我们使用管理 UI 来获取 Power BI 向 spark thrift 服务器发出的确切命令:客户端的命令效率不高,但并非不合理。
- Beeline 用于(在同一集群中的另一台机器上)连接并执行与 Power BI 完全相同的命令:执行速度很快。
- 使用 Simba ODBC 驱动程序(在工作站上)连接并执行一个简单的 SELECT * 命令:执行速度很慢(每检索行 1 秒)。
- 在 Thrift 服务器上使用了 TCP 转储。这表明大部分时间都花在等待 thrift 服务器发送数据包上:对于 #1,这不是网络延迟问题。
- 我们将服务器配置更改为“标准”或二进制协议,与 Power BI 连接:执行速度非常快!
- 我们将服务器配置恢复为“HTTP”,但没有 SSL:执行速度很慢。
这些信息是否指向我的消除过程中的任何漏洞或我们遗漏的明显潜在问题?
所以这似乎指向一个问题,特别是使用 HTTP(通过端口 10001)?