在 EC2 上使用 Flask-RESTful 端点降低 AMI 性能
Crate AMI Performance Lower With Flask-RESTful Endpoint on EC2
启动了一个简单的 Crate AMI EC2 实例,并在 4200 和 5000 上为 Flask 打开了 Crate 的端口。
当我 运行 使用 Crate AMI 的 EC2 实例时,速度较慢但仍然足够快(~1-2 秒),但是当我使用调用 Crate DB 的 Flask 端点调用相同的实例时(在同一个实例上)通过向它传递一个查询,它需要将近 10 秒。
我在本地主机上测试了端点,执行速度没有变化。因此,我已经排除了代码的问题。
我的问题:
- 为什么通过 EC2 上的 Flask-Restful 端点进行的查询 运行 这么慢?
- 从头开始制作 EC2 AMI 并在其中安装 CrateDB 与开箱即用的 Crate AMI 相比,在速度性能上是否有差异?
这可能是几件事之一,但我怀疑主要是 'hardware' 问题:
- 硬件规格是否相同?更多内核、更多内存、SSD 与旋转磁盘?
- 环境变量
CRATE_HEAP_SIZE
是否设置为可用 RAM 的一半? (/etc/sysconfig/crate
)
CREATE TABLE
语句是否相同?如果未指定,不同数量的核心会导致不同数量的分片。 Oversharding/undersharding 会显着降低性能。
我假设 table 大小和查询是相同的 ;) 否则看似微小的变化可能会对性能产生影响。 Partitioned tables 如果分区列在 WHERE
子句中,那么优化以及直接命中主键的查询会更快。同样,字符串 aggregations/comparisons 比数字类型等慢
干杯,克劳斯
启动了一个简单的 Crate AMI EC2 实例,并在 4200 和 5000 上为 Flask 打开了 Crate 的端口。
当我 运行 使用 Crate AMI 的 EC2 实例时,速度较慢但仍然足够快(~1-2 秒),但是当我使用调用 Crate DB 的 Flask 端点调用相同的实例时(在同一个实例上)通过向它传递一个查询,它需要将近 10 秒。
我在本地主机上测试了端点,执行速度没有变化。因此,我已经排除了代码的问题。
我的问题:
- 为什么通过 EC2 上的 Flask-Restful 端点进行的查询 运行 这么慢?
- 从头开始制作 EC2 AMI 并在其中安装 CrateDB 与开箱即用的 Crate AMI 相比,在速度性能上是否有差异?
这可能是几件事之一,但我怀疑主要是 'hardware' 问题:
- 硬件规格是否相同?更多内核、更多内存、SSD 与旋转磁盘?
- 环境变量
CRATE_HEAP_SIZE
是否设置为可用 RAM 的一半? (/etc/sysconfig/crate
) CREATE TABLE
语句是否相同?如果未指定,不同数量的核心会导致不同数量的分片。 Oversharding/undersharding 会显着降低性能。
我假设 table 大小和查询是相同的 ;) 否则看似微小的变化可能会对性能产生影响。 Partitioned tables 如果分区列在 WHERE
子句中,那么优化以及直接命中主键的查询会更快。同样,字符串 aggregations/comparisons 比数字类型等慢
干杯,克劳斯