[kea-dev] kea apache cassandra/datastax cassandra

Angelo Failla pallotron at fb.com
Thu May 19 14:21:41 UTC 2016


Nice!

Have you stress tested your patch with perfdhcp with, say, 1500 RPS?

As I wrote in a previous thread [1] KEA is a mono threaded application and your hook might not perform as expected if your backend is slow (e.g. between 20ms and 50ms).
Even if your backend takes 8ms to respond you will probably still max out at 125 RPS (best conditions).
This is because when a request is being served all the incoming udp packets will be buffered in kernel space, and processed sequentially… and if your hook is not fast enough your network recvq will max out until it hits the kernel buffer limits, after which you will start dropping packets.

You might need to alternatives solutions to this. For example the solution we use in Facebook (in our hook) is to drop the first DISCOVERY/SOLICIT request, spawn a background fetch to our backend, which populate internal data structure in memory, when the client retries a second or so later the info will be in memory and therefore it can be served fast. We basically take advantage of the fact that clients usually have retry/exponential backoff logic.

If you run into performance issues (like we did) you might find my proposal viable (until and if KEA people will consider redesign the core to be async or multithread).

[1] https://lists.isc.org/pipermail/kea-dev/2016-March/000628.html
--
Angelo Failla
Cluster Infrastructure - Dublin
Pallotron at fb.com

From: <kea-dev-bounces at lists.isc.org> on behalf of Razvan Becheriu <razvan.becheriu at qualitance.com>
Date: Thursday, May 19, 2016 at 9:58 AM
To: "kea-dev at lists.isc.org" <kea-dev at lists.isc.org>
Subject: [kea-dev] kea apache cassandra/datastax cassandra

Hi,

My name is Razvan Becheriu.

I work for Qualitance in collaboration with Deutsche Telekom.
I have been working on improving the KEA server by adding support for apache cassandra/datastax cassandra.
From my understanding, the new source files will be commited with "Apache License".

I am ready to commit the changes to a separate branch (for code review). The source files have been updated to latest (main branch) version.

One thing to mention is that not all unit tests have been written for the cassandra backend.

Please let me know how to proceed.

Regards,
Razvan



--
[https://www.qualitance.com/Q48x48.gif]

Razvan Becheriu  |  senior software engineer  |  QUALITANCE™
RO: +00 (000) 000 000  |  office: +40 (372) 944 741
Opera Center bldg. 2, fl. 7-8, 2 Dr. Nicolae D. Staicovici, Bucharest 050556<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.google.ro_maps_place_QUALITANCE_-4044.433653-2C26.079464-2C17z_data-3D-214m6-211m3-213m2-211s0x40b1ff173c5bc0b9-3A0x7226343f810c7ede-212sQUALITANCE-213m1-211s0x40b1ff173c5bc0b9-3A0x7226343f810c7ede-3Fhl-3Dro&d=CwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=XQHjLQh2eTTW8a0c8kaZ9Q&m=4FJSvXdaJAhK6dHo-ycbobR-0O43b8wsYhIS_w3ZsvA&s=Gg2OEEGB_Larq_eTb8TzCz6ZseeMou69mVoauRLWN5M&e=>
razvan.becheriu at qualitance.com<mailto:razvan.becheriu at qualitance.com>  |  www.qualitance.com<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.qualitance.com_&d=CwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=XQHjLQh2eTTW8a0c8kaZ9Q&m=4FJSvXdaJAhK6dHo-ycbobR-0O43b8wsYhIS_w3ZsvA&s=NgDyDRXU1fCXOCOXNGGfK4tT9pJHog4M4lWDjpw_GPk&e=>


--
The information contained in this email is confidential. It is intended only for the stated addressee and access to it by any other person is unauthorised. If you are not an addressee, you must not disclose, copy, circulate or in another way use or reply to the information contained in this email. Such unauthorised use may be unlawful. If you have received this email in error, please notify the sender immediately and delete all copies from your computer and network.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-dev/attachments/20160519/60ca1ab2/attachment.html>


More information about the kea-dev mailing list