【发布时间】:2022-01-08 10:29:09
【问题描述】:
使用 Google Cloud PostgreSQL 在 Google 控制台上执行简单查询的时间为 3ms,但是当我在 Mac 上从 Python 发送请求时,需要 4 秒才能得到响应,并且打印出来。
我每次运行脚本时都会创建一个连接:
engine = sqlalchemy.create_engine('postgresql://' + username + ':' + password + '@' + host + ':' + port + '/' + database)
然后我用 pandas 发送查询:
df = pd.read_sql_query(e, engine)
这会减慢往返速度吗?我不应该每次都创建一个连接吗?如何获得更快的响应?
查询的 3 毫秒增加到 4 秒得到最终响应 - 如果我将其作为 Web 客户端运行发送正常的 REST API 请求,这会有所改善吗?
【问题讨论】:
-
您要检索多少数据?行数?数据的大概大小?
-
打印东西也很贵。为了获得重要的衡量标准,只需丢弃您检索到的行。这样您就可以更好地了解时间的去向。如果可能,还记录第一行的时间(该时间不准确,因为 Postgres 可能会先检索一堆要发送的行,但至少它标志着您的程序可以开始对结果执行某些操作的时间点设置)..
-
网络带宽也可能是个问题。
-
谢谢,我正在打印 4-10 行 6 列的数据,这不能把 4ms 变成 4 秒,也许是 python 构建操作?带宽肯定不是问题。
标签: python postgresql google-cloud-platform