3

我正在寻找 Memcached Server 的开源 UDP Benchmarking 客户端。如果有人知道任何人,那将有很大帮助。我们正在尝试编写自己的客户端,但不知何故它适用于 TCP,但不适用于 UDP。我实际上正在寻找一个开源轻量级实现,我们可以与其他客户端集成或基于此,我们可以找出我们做错了什么。

另外,我寻找了 libmemcached,但这是一个巨大的问题,我正在寻找轻量级的东西。

另外,如果有人可以评论 memcached 的 UDP 请求响应结构。我基本上是在有效载荷前面添加一个 UDP 8 字节标头,它由一个(请求标头+ ..)组成,它类似于 TCP,除了一个额外的 8 字节标头。我假设有什么问题吗?有没有像 RFC 一样的文件,我可以在其中找出我们是否假设有问题?

谢谢

4

1 回答 1

2

从您的问题中不清楚您到底在寻找什么。您应该发布一些有关您的方法的详细信息,否则使用这些黑盒知识,没有人能真正帮助您。

至于你的第一个问题,你想要一个轻量级的 Memcached 客户端,你可以参考以下链接

https://code.google.com/p/memcached/wiki/Clients

有许多以不同语言列出的不同 memcached 基准测试客户端。

我不知道您使用的是哪种语言,但是有一个用 PHP 编写的 memcached UDP 客户端,它轻量级且易于理解。

https://github.com/aempirei/EZ-Memcache-UDP

可能你已经尝试过了,但这里值得一提。要了解 memcached 数据包结构,您可以点击此链接:

https://code.google.com/p/memcached/wiki/MemcacheBinaryProtocol

上面的链接提供了关于各种memcached请求-响应数据包及其结构的详细而清晰的解释。

另外,在实现你自己的系统之前,你应该看看这个链接, Memcached Telnet commands

它解释了 memcached 请求-响应的不同命令。在进一步进行自己的实现之前,使用 telnet 手动尝试所有这些以更好地了解它们确实是一个好习惯。

是的,你最后说的是对的。要实现 UDP,您需要在请求标头之前包含一个 8 字节的标头。其余一切都取决于您的实现逻辑和场景。除非您分享有关您的逻辑的更多详细信息,否则我们无法真正帮助您。

希望这可以帮助。

于 2013-11-09T05:46:16.277 回答