Question

I am looking for an Open source UDP Benchmarking client for Memcached Server. If any one knows of any one that would be of great help. We are trying to write our own client but somehow it is working for TCP but not for UDP. I am actually looking for an open source light weight implementation that we can either integrate with other client or based on that, we can find out what we are doing wrong.

Also, I looked for libmemcached but that is a giant heck, I am looking for something light-weight.

Also, If anyone could comment on UDP Request-Response structure for memcached. I am basically adding a UDP 8 byte Header in front of payload that consist of a (request header+ ..), which is similar to TCP except an additional 8 byte header. Am I assuming something wrong ? Is there any document like RFCs where I can figure out whether we are assuming something wrong ?

Thanks

Was it helpful?

Solution

It is not clear from your question what exactly are you looking for. You should post some details regarding your approach otherwise with this black box knowledge, nobody can't really help you.

As for your first question where you want a lightweight Memcached client, you can refer to the following link

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

There are many different memcached benchmarking clients listed in different languages.

I don't know which language you are using but there is a memcached UDP client written in PHP which is lightweight and easy to understand.

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

May be you have already tried it but it is worthwhile to mention here. To understand memcached packets structure, you can follow this link :

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

The above link provides a detailed and clear explanation about various memcached request-response packets and their structure.

Also , before implementing your own system, you should look at this link, Memcached Telnet commands

It explains different commands for memcached request-response. It would really be a good practice to try all of them manually with telnet to gain a better understanding before going further for your own implementation.

Yes, you are right about what you said at last. To implement UDP, you need to include a 8 byte header before your request header. Rest all depends on your implementation logic and scenario. Unless you share more details about your logic, we can't really help you.

Hope this helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top