在 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 秒。

我在本地主机上测试了端点,执行速度没有变化。因此,我已经排除了代码的问题。

我的问题:

这可能是几件事之一,但我怀疑主要是 'hardware' 问题:

  • 硬件规格是否相同?更多内核、更多内存、SSD 与旋转磁盘?
  • 环境变量 CRATE_HEAP_SIZE 是否设置为可用 RAM 的一半? (/etc/sysconfig/crate)
  • CREATE TABLE语句是否相同?如果未指定,不同数量的核心会导致不同数量的分片。 Oversharding/undersharding 会显着降低性能。

我假设 table 大小和查询是相同的 ;) 否则看似微小的变化可能会对性能产生影响。 Partitioned tables 如果分区列在 WHERE 子句中,那么优化以及直接命中主键的查询会更快。同样,字符串 aggregations/comparisons 比数字类型等慢

干杯,克劳斯