User defined functions Aerospike UDF的性能影响';s

User defined functions Aerospike UDF的性能影响';s,user-defined-functions,aerospike,nosql,User Defined Functions,Aerospike,Nosql,我想知道每次创建或更改某些记录时调用用C编写的UDF(用户定义函数)(假设UDF代码本身不花时间,我会自己优化)时,我应该预期会产生什么样的性能影响 假设我的硬件能够在200k次写操作/秒上运行SSD持久化命名空间,那么每次运行UDF时,我能期望至少50k次写操作/秒吗 子问题:什么可能会限制UDFs性能(上下文切换?) 询问的原因是Aerospike正在使用这些UDF,例如用于大型数据类型,但根据AS员工的说法,这些UDF的性能不高(与KVS Ops相比)。我的用例是使用UDF使Redis集群

我想知道每次创建或更改某些记录时调用用C编写的UDF(用户定义函数)(假设UDF代码本身不花时间,我会自己优化)时,我应该预期会产生什么样的性能影响

假设我的硬件能够在200k次写操作/秒上运行SSD持久化命名空间,那么每次运行UDF时,我能期望至少50k次写操作/秒吗

子问题:什么可能会限制UDFs性能(上下文切换?)


询问的原因是Aerospike正在使用这些UDF,例如用于大型数据类型,但根据AS员工的说法,这些UDF的性能不高(与KVS Ops相比)。我的用例是使用UDF使Redis集群中的大量二级索引保持最新,允许更丰富的实时查询(例如,5-10个二级索引的交点/并集)。

最好是自己运行测试。很难预测。但我相信你应该能够完成5万个测试程序集

UDF的性能主要受调用UDF之前在引擎盖下发生的内存分配的影响。如果您使用的是简单的数据类型,比如int/string/blob,那么您最好使用它。如果在UDF中使用list/map,它将执行更多内存分配,这将影响性能