Welcome!

Release Management Authors: Pat Romanski, Elizabeth White, David H Deans, Liz McMillan, Jnan Dash

Related Topics: Microservices Expo, Mobile IoT, Containers Expo Blog, Agile Computing, Release Management , @CloudExpo

Microservices Expo: Blog Feed Post

Tweaking Timeouts

Alternative title: Stop Blaming the Network

I have a weakness for a particular Android game that shall remain nameless (to protect the innocent, of course). It frequently complains that I have "a poor network connection." Even when I'm one hop from a fiber ring. Interestingly enough, it is almost always the case that this notification (and poor responsiveness on the part of the game) occurs during an "episode" in which hundreds of thousands of users are all active. At the same time.

Yes, I found that telling, too.

Needless to say, I am almost certain I do not have "poor network" performance and really, unless they're performing some network latency tests on round trip time under the covers (which I seriously doubt) or doing some mathematically deduction based on TCP window sizes, there's no way an Android game developer is going to be able to tell me I have "poor network" performance. I will grant that it could be that my network is the problem. But if that's the case then I must have some sort of magical impact on "the network" wherever I go because my "network" connection is always at fault, no matter where I may be.

It's more likely an error in response to poor response time from an overloaded server. A server that's overloaded because the game is constantly exchanging messages with the server. Lots and lots of connections from lots and lots of users.

Reasons why the server would have poor response times are many. One of those is a poorly configured connection timeout value that is chewing up resources sitting in LISTEN or one of the many X_WAIT states to close. Another is the client application not reusing connections, and constantly introducing overhead by requiring a full TCP session setup and teardown for every single call.

Yet another is reusing the connection while the game is in an active state, but ignoring it (necessarily) when the game is suspended - idle time on the client or the user switched to something else. When the game is reinitiated, that connection is long gone. In the interim, however, the server sat and waited and waited (for its idle timeout to expire) until it could close the unused connection. Unused connections sitting in an idle state consume resources.

And I don't have to remind you of the Second Operational Axiom (but of course I will): as load increases, performance decreases.

Load is not just processing, it's also overhead - such as that incurred by maintaining TCP connections. The impact of the load from connection management is certainly not as heavy as that of actual processing but it does add up.

It is important for a variety of reasons that developers of applications - games or otherwise - understand the performance profile and usage pattern of their application before unleashing it on the public (or the employee community). It's important not to blame the user (i.e., their "network" connection) when it really isn't their network, but your server and capacity that's causing the problem. Test, retest, and understand the impact of both connection management and processing on the capacity of the server-side application your app relies on. Overload it, stress it out, and understand how to differentiate between capacity-related performance issues and actual network-related issues.  (Hint: it's almost never the network these days, and unless you write code to determine it is, don't blame the network).

While you're testing tweak the timeout values, find a setting that's optimal for game play that doesn't sit around and wait forever to close and free up those resources. Recognize that default values on any web or application server with respect to TCP are just that - default. They aren't specific to the performance and capacity you need for your application. If you haven't done some testing and tweaked those values, you're part of the problem.

Test, retest, tweak and re-tweak.

Your users will thank you for it.

Read the original blog entry...

More Stories By Lori MacVittie

Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.

IoT & Smart Cities Stories
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Machine Learning helps make complex systems more efficient. By applying advanced Machine Learning techniques such as Cognitive Fingerprinting, wind project operators can utilize these tools to learn from collected data, detect regular patterns, and optimize their own operations. In his session at 18th Cloud Expo, Stuart Gillen, Director of Business Development at SparkCognition, discussed how research has demonstrated the value of Machine Learning in delivering next generation analytics to impr...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in development and launches of disruptive technologies to create new market opportunities as well as enhance enterprise product portfolios with emerging technologies. His most recent venture was Octoblu, a cross-protocol Internet of Things (IoT) mesh network platform, acquired by Citrix. Prior to co-founding Octoblu, Chris was founder of Nodester, an open-source Node.JS PaaS which was acquired by AppFog and ...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get...