2013-10-27 110 views
3

我正在为Memcached服务器寻找开源的UDP基准测试客户端。如果任何人知道任何会有很大帮助的人。我们正在尝试编写我们自己的客户端,但不知何故它正在为TCP工作,而不是为UDP工作。我实际上正在寻找一种开源轻量级实现,我们可以将其与其他客户端集成或基于此实现,我们可以找出我们做错了什么。Memcached的UDP基准测试

此外,我寻找libmemcached,但这是一个巨大的骇人听闻,我正在寻找轻量级的东西。

此外,如果任何人都可以评论memcached的UDP请求响应结构。我基本上是在有效负载之前添加一个UDP 8字节的Header,它由一个(请求头+ ..)组成,除了一个额外的8字节头之外,它类似于TCP。我假设有问题吗?有没有像RFCs这样的文件,我可以弄清楚我们是否在假设错误?

感谢

回答

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字节的标头。全部取决于你的实现逻辑和场景。除非您分享关于您的逻辑的更多细节,否则我们无法真正帮助您。

希望这会有所帮助。

+0

非常感谢这个详细的解释..这可能真的对任何人有用,但实际上这是一个项目,我不能及时完成,但因为我已经完成了提交,它也不是我的兴趣领域,所以我做不想进一步的细节。我接受你的答案,因为没有其他人可以关闭这篇文章。 –