如何使用Python客户端在Aerospike中进行异步插入

时间:2015-06-05 07:16:48

标签: aerospike

我正在使用Aerospike 3.4和Python Clinet 1.0.41

我每秒只能实现大约1400次写入。这是通过同步写入,单线程。任何人都可以建议如何提高单线程的写入速度。我在Python客户端中找不到异步写入功能。

我已经看到网络上的基准测试结果声称每秒大约8L写入SSD。

我的配置: 节点数:2, CPU:每节点16个, 复制:2, 数据持久性:SSD

谢谢, Dhanasekaran

3 个答案:

答案 0 :(得分:2)

2015-07-29更新:

(1)Python Aerospike客户端目前完全同步。在https://discuss.aerospike.com/t/gevent-compatibility-or-async-api/1001的讨论中似乎没有确定的异步支持计划  但Ronen后来证实了(见评论)未来计划为所有客户提供异步支持。

(2)关于1.4k TPS,我在虚拟盒VM中托管Aerospike并从物理主机连接时遇到了非常相似的结果。这可能是由于VirtualBox的网络问题。当客户端(Java基准测试)在与主机数据库相同的VM上运行时,我的速度上升到大约8k TPS。

答案 1 :(得分:1)

这里的一个好消息是' C'客户端4.0已发布,具有异步支持。 http://www.aerospike.com/download/client/c/notes.html

由于python客户端包装了C客户端,因此很有可能python客户端将更快地拥有此功能。

答案 2 :(得分:-1)

源代码:https://github.com/sean-tan-columbia/aerospike-async-client

我已经将Aerospike异步客户端实现为一个开源项目,源代码如上所述。它已经使用Aerospike Python Client 1.0.38和Python 2.7在Aerospike 3.3上进行了测试。

我刚刚开始它,所以它尚未成熟,欢迎改进它!