2015-05-24 59 views
1

我想知道調用C語言編寫的,每次的UDF(用戶定義函數)的一些記錄被創建或更改(與假設時,該UDF代碼本身不花時間我應該期待什麼樣的性能影響 - 我會自己優化)。Aerospike UDF的性能影響?

比方說,我有能夠運行在20萬寫/ s的SSD持久化命名空間的硬件,我可以期待ATLEAST 50K與UDF寫入/ s的運行每次?

Subquestion:(?上下文切換)什麼可能限制UDF的性能

原因要價是塞式的,例如使用UDF的那些對於大數據類型,但根據AS工作人員不具有高性能(與KVS-Ops相比)。我的用例是使用UDF將Redis羣集中的廣泛二級索引保持爲最新,從而實現更豐富的實時查詢(例如5-10個二級索引的交集/聯合)。

回答

3

最好的辦法是自己運行測試。它很難預測。但我相信你應該能夠做到50k tps。

主要是UDF的表現,因爲在引擎蓋下是發生在調用UDF之前的內存分配的影響。如果你正在使用像int/string/blob這樣簡單的數據類型,那麼你最好。如果你在UDF中使用list/map,它會做更多的內存分配,這會影響性能。