如何使用 Python 客户端在 Aerospike 中进行异步插入
How to do Asynchronous inserts in Aerospike using Python Client
我正在使用 Aerospike 3.4 和 Python Clinet 1.0.41
我每秒只能实现大约 1400 次写入。这是通过同步写入,单线程。谁能建议如何提高单线程的写入速度。我没有在 Python 客户端中找到异步写入功能。
我在网上看到基准测试结果声称在 SSD 上每秒写入大约 8L。
我的配置:
nodes:2 个,
CPU:每个节点 16 个,
复制:2,
数据持久性:SSD
谢谢,
达纳塞卡兰
2015 年 7 月 29 日更新:
(1) Python Aerospike 客户端目前是完全同步的。在 https://discuss.aerospike.com/t/gevent-compatibility-or-async-api/1001 的讨论中似乎没有明确的异步支持计划
但 Ronen 已在下方确认(请参阅评论)未来计划为所有客户端提供异步支持。
(2) 关于 1.4k TPS,我在 VirtualBox VM 中托管 Aerospike 并从物理主机连接时遇到了非常相似的结果。这可能是由于 VirtualBox 的网络问题。当客户端(Java 基准测试)在与主机数据库相同的虚拟机上 运行 时,我的速度上升到大约 8k TPS。
源代码:https://github.com/sean-tan-columbia/aerospike-async-client
我开源了一个Aerospike异步客户端,源码如上。它已经在 Aerospike Python 客户端 1.0.38 和 Python 2.7 上的 Aerospike 3.3 上进行了测试。
刚开始做,还不成熟,欢迎改进!
好消息是 'C' 客户端 4.0 已经发布,支持异步。 http://www.aerospike.com/download/client/c/notes.html.
由于 python 客户端环绕 C 客户端,因此 python 客户端很有可能很快拥有此功能。
我正在使用 Aerospike 3.4 和 Python Clinet 1.0.41
我每秒只能实现大约 1400 次写入。这是通过同步写入,单线程。谁能建议如何提高单线程的写入速度。我没有在 Python 客户端中找到异步写入功能。
我在网上看到基准测试结果声称在 SSD 上每秒写入大约 8L。
我的配置: nodes:2 个, CPU:每个节点 16 个, 复制:2, 数据持久性:SSD
谢谢, 达纳塞卡兰
2015 年 7 月 29 日更新:
(1) Python Aerospike 客户端目前是完全同步的。在 https://discuss.aerospike.com/t/gevent-compatibility-or-async-api/1001 的讨论中似乎没有明确的异步支持计划 但 Ronen 已在下方确认(请参阅评论)未来计划为所有客户端提供异步支持。
(2) 关于 1.4k TPS,我在 VirtualBox VM 中托管 Aerospike 并从物理主机连接时遇到了非常相似的结果。这可能是由于 VirtualBox 的网络问题。当客户端(Java 基准测试)在与主机数据库相同的虚拟机上 运行 时,我的速度上升到大约 8k TPS。
源代码:https://github.com/sean-tan-columbia/aerospike-async-client
我开源了一个Aerospike异步客户端,源码如上。它已经在 Aerospike Python 客户端 1.0.38 和 Python 2.7 上的 Aerospike 3.3 上进行了测试。
刚开始做,还不成熟,欢迎改进!
好消息是 'C' 客户端 4.0 已经发布,支持异步。 http://www.aerospike.com/download/client/c/notes.html.
由于 python 客户端环绕 C 客户端,因此 python 客户端很有可能很快拥有此功能。