Memcached的UDP基准测试

3
我正在寻找一个开源UDP基准测试客户端,用于Memcached服务器。如果有人知道任何可以帮助的,请告诉我。我们尝试编写自己的客户端,但是TCP正常工作而UDP不正常。我实际上正在寻找一个轻量级的开源实现,我们可以将其与其他客户端集成,或者基于它来找出我们做错了什么。
此外,我查看了libmemcached,但那太庞大了,我正在寻找一些轻量级的东西。
另外,如果有人能评论一下Memcached的UDP请求-响应结构,我正在将一个UDP 8字节头添加到由请求头等组成的有效载荷前面,类似于TCP,只是多了一个8字节的头。我是否有错误的假设?是否有类似于RFC的文档,我可以找出我们是否有错误的假设?
谢谢。
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字节的标头。其余的都取决于您的实现逻辑和场景。除非您分享更多有关您的逻辑的详细信息,否则我们无法真正帮助您。
希望这可以帮助到您。

非常感谢您提供的详细解释,这对任何人来说都可能非常有帮助。但实际上,这是一个我无法按时完成的项目,而且也不是我的兴趣领域,所以我不想深入了解。由于没有其他方法来关闭此帖子,我接受了您的答案。 - Udit Gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接