启动了一个简单的板条板AMI EC2实例,并打开了4200上的板条箱的端口和烧瓶5000。
当我使用板条箱AMI运行EC2实例时,速度较慢,但仍然足够快(〜1-2秒),但是当我用烧瓶端点调用同样的速度(在同一实例上)通过向其传递查询,它需要接近10秒。
我测试了Localhost上的端点,因此速度执行没有任何更改。因此,我排除了代码是问题。
我的问题:
- 为什么查询通过EC2上的烧瓶式端点运行如此慢?
- 比开箱即用的板条箱AMI?
可以是几件事之一,但是我怀疑一个'硬件'问题:
- 硬件规格相同吗?更多核心,更多内存,SSD与旋转磁盘?
- 环境变量
CRATE_HEAP_SIZE
是否将可用RAM的一半设置为一半?(/etc/sysconfig/crate
) -
CREATE TABLE
语句是一样的吗?如果未指定,则不同数量的内核会导致不同数量的碎片。磨损/不稳定会明显降低性能。
我假设表尺寸和查询是相同的;)否则,看似较小的更改可能会影响性能。分区表优化是否在WHERE
子句中分区列以及直接击中主键的查询速度更快。同样,字符串上的聚合/比较比数字类型慢。
欢呼,claus