The Deacon Project Droid+Beacon – Open-Source Push Notifications for Android & Java

21Feb/110

Testing: Epilogue to Chapter 1

Outside the delightful task of cleaning and organizing our basement, this weekend offered some prime coding time - and I spent it chewing through a new and improved Deacon+Meteor test suite.

Unfortunately, the results have been more cause for confusion than celebration. The new suite uses a pair of dedicated machines - one server, one client - on an isolated network with PTP-synchronized clocks and a socket-based side channel for control. It successfully addresses the error introduced by including push send time in the round-trip duration, but exposes many more weaknesses in my previous tests.

While I didn't seem to encounter this limit before, I'm now having great difficulty getting either the client or server machines past 1,024 connections - an upper-bound imposed by Linux's per-process file descriptor limit. This limit is configurable, but still seems to be leading me on a merry chase. I also discovered that the previous test didn't account for Deacon instances that weren't actually connected to the server - so I've added some extra accessors and state tracking to Deacon to prevent the test from advancing before all the clients are ready.

I'm still making progress - so stay tuned and hopefully I'll have some better news to share soon. In the mean time, suggestions are always welcome via the comments or mailing list...

About Dave

Dave Rea is an upstate-NY engineer specializing in embedded systems. He holds a BS degree in Electrical Engineering and a MS degree in Software Engineering, both from the Rochester Institute of Technology. Dave is an open-source enthusiast, totes an HTC Droid Incredible, and runs Ubuntu Linux. You can find more on Dave at daverea.com or LinkedIn.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.