我们有一个面向互联网的GKE容器化应用程序,通过负载均衡器(Nginx上的ssl终端)为Bigtable的传入流量/请求提供服务。请求本质上是同步的。我们使用C++ Bigtable客户端库与Bigtable进行交互。请参见- https://github.com/googleapis/google-cloud-cpp
大多数"GET“调用都需要40-50毫秒,这似乎是相当不寻常的。我也研究过Bigtable的"Key Visualizer工具“,没有发现Rowkey和schema有任何问题。
为了确认Bigtable在Pod中工作正常,我运行了一个'hello world‘示例,并尝试同步获取示例Rowkey的响应,大多数"GET“调用都需要4-5ms。现在,我很不确定是什么在同一个Rowkey上进行"GET“调用,如果通过应用程序调用,会花费这么长的时间来返回响应。
网络延迟是需要考虑的问题,但是它也会延迟Python 'Hello World‘示例代码的响应时间,而且Bigtable集群和GKE节点在同一区域。
是否知道我应该在哪些方面进行同样的故障排除?
发布于 2021-01-11 08:45:18
我想到的一件事就是创建bigtable::Table对象的初始开销。您是否在请求之间缓存对象?这样做有可能吗?
第二个领域是身份验证,尽管我假设您对Python 'Hello World‘和C++应用程序都使用相同的身份验证方法?
如果这没有帮助,请联系我,我的电子邮件地址应该很容易从GitHub站点找到。
https://stackoverflow.com/questions/65650621
复制相似问题