|By Gary Kaiser||
|July 7, 2014 08:15 AM EDT||
As a network professional, one of your newer roles is likely troubleshooting poor application performance. For most of us, our jobs have advanced beyond network "health," towards sharing - if not owning - responsibility for application delivery. There are many reasons for this more justifiable than the adage that the network is first to be blamed for performance problems. (Your application and system peers feel they are first to be blamed as well.) Two related influencing trends come to mind:
- Increased globalization, coupled with (in fact facilitated by) inexpensive bandwidth means that the network is becoming a more critical part of the business at the same time its constraint is shifting from bandwidth to latency.
- Many of the network devices - appliances - that sit in the path between remote offices and data centers are application-fluent, designed to enhance and speed application performance, often by spoofing application behaviors; in fact, many of these have evolved in response to problems introduced by increased network latency.
In an ideal world, your application performance management (APM) solution or your application-aware network performance management (AANPM) solution would automatically isolate the fault domain for you, providing all the diagnostic evidence you need to take the appropriate corrective actions. The reality is that this isn't always the case; intermittent problems, unexpected application or network behaviors, inefficient configuration settings, or just a desire for more concrete proof mean that manual troubleshooting remains a frequent exercise. Although it may seem like there are a near-unlimited number of root causes of poor application performance, and that trial and error, guesswork and finger-pointing are valid paths toward resolution, the truth is much different. In a series of network triage blog posts, I'll identify the very limited realm of possible performance constraints, explain how to measure and quantify their impact, illustrate these using network packet trace diagrams, and offer meaningful and supportable actions you might evaluate to correct the problem. Understanding how to detect these possible performance problems (there are twelve altogether) will help you troubleshoot faster, more accurately, with greater insight, while collaborating more effectively with your application and system peers.
In this introductory entry, I present the request/reply application paradigm assumption upon which most of the analyses depend, illustrate key packet-level measurements, and provide a list of the 12 bottleneck categories we'll discuss in future blog entries to the series.
Packet Flow Diagrams
Throughout the blog series I will be using packet flow diagrams to illustrate message flows on the network, often to emphasize TCP's influence on these flows. Some are drawings to illustrate concepts and theory, others are screenshots from Compuware's Transaction Trace Analysis that illustrate the pertinent performance bottleneck. The diagram conventions are simple:
- Each arrow represents one TCP packet
- Blue arrows are used to represent data packets
- Red arrows are used to represent TCP ACK packets
- The slope of the arrow represents network delay
- Time flows from top to bottom
We will frequently use the term "operation," which we define as the unit of work that an application performs on behalf of a user; we sometimes describe it as "Click (or Enter key) to screen update." Business transactions are made up of one or more operations; for example, a user may click through a series of screens (operations) to complete a customer order update. Operations are an important demarcation point, as they represent the unique performance dimension important to the business, to the user, and to IT. The time a user waits for the system to execute an operation impacts business transaction performance and therefore productivity, and is dictated by the performance of lower-level IT-managed hardware, software and services. Note that this terminology may differ somewhat from network probes that often use the term "transaction" to reference session-layer request-response exchanges, which we discuss next.
We assume a client/server or request/reply paradigm, with TCP as the transport; this covers virtually all of what we might refer to as interactive business applications. It would include, for example, web-based apps, "fat client" apps, file server access, file transfers, backups, etc. It specifically excludes voice and video streaming as well as the presentation tier of thin-client solutions that use protocols such as ICA and PCoIP.
For each operation, there will be at least one application-level request and one corresponding application-level reply. These can be considered application messages, sometimes referred to as application-layer protocol data units (PDUs). Consider a simple client-server operation. At the application layer, a request message is passed to the client's TCP stack (TCP socket) for segmentation (into packets), addressing, and transmission; these lower layer TCP stack functions are essentially transparent to the application. At the receiving end (the server), the data from the network packets is reassembled into the application layer message and delivered to the listener service for processing. Once processing is complete, the server application passes the reply message to the server's TCP stack, and the message contents are similarly segmented and transferred across the network to the client. The performance of these request/reply message exchanges is constrained by two factors; message processing (at the server or client) and message transmission (across the network).
It is helpful, then, to consider this request/reply message exchange as the basis for performance analysis; the reassembled messages represent our network-centric insight into the application, while the packets visible in the trace file inform us how efficiently the network transports these messages.
For further insight click here for the full article, and stay tuned for Part II.
The essence of cloud computing is that all consumable IT resources are delivered as services. In his session at 15th Cloud Expo, Yung Chou, Technology Evangelist at Microsoft, demonstrated the concepts and implementations of two important cloud computing deliveries: Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). He discussed from business and technical viewpoints what exactly they are, why we care, how they are different and in what ways, and the strategies for IT to transi...
Mar. 29, 2017 05:00 AM EDT Reads: 6,392
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
Mar. 29, 2017 04:00 AM EDT Reads: 15,069
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
Mar. 29, 2017 04:00 AM EDT Reads: 3,165
Keeping pace with advancements in software delivery processes and tooling is taxing even for the most proficient organizations. Point tools, platforms, open source and the increasing adoption of private and public cloud services requires strong engineering rigor - all in the face of developer demands to use the tools of choice. As Agile has settled in as a mainstream practice, now DevOps has emerged as the next wave to improve software delivery speed and output. To make DevOps work, organization...
Mar. 29, 2017 03:45 AM EDT Reads: 2,120
My team embarked on building a data lake for our sales and marketing data to better understand customer journeys. This required building a hybrid data pipeline to connect our cloud CRM with the new Hadoop Data Lake. One challenge is that IT was not in a position to provide support until we proved value and marketing did not have the experience, so we embarked on the journey ourselves within the product marketing team for our line of business within Progress. In his session at @BigDataExpo, Sum...
Mar. 29, 2017 03:30 AM EDT Reads: 3,201
Virtualization over the past years has become a key strategy for IT to acquire multi-tenancy, increase utilization, develop elasticity and improve security. And virtual machines (VMs) are quickly becoming a main vehicle for developing and deploying applications. The introduction of containers seems to be bringing another and perhaps overlapped solution for achieving the same above-mentioned benefits. Are a container and a virtual machine fundamentally the same or different? And how? Is one techn...
Mar. 29, 2017 03:30 AM EDT Reads: 3,195
Niagara Networks exhibited at the 19th International Cloud Expo, which took place at the Santa Clara Convention Center in Santa Clara, CA, in November 2016. Niagara Networks offers the highest port-density systems, and the most complete Next-Generation Network Visibility systems including Network Packet Brokers, Bypass Switches, and Network TAPs.
Mar. 29, 2017 03:30 AM EDT Reads: 3,334
Extreme Computing is the ability to leverage highly performant infrastructure and software to accelerate Big Data, machine learning, HPC, and Enterprise applications. High IOPS Storage, low-latency networks, in-memory databases, GPUs and other parallel accelerators are being used to achieve faster results and help businesses make better decisions. In his session at 18th Cloud Expo, Michael O'Neill, Strategic Business Development at NVIDIA, focused on some of the unique ways extreme computing is...
Mar. 29, 2017 03:30 AM EDT Reads: 11,720
Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
Mar. 29, 2017 03:00 AM EDT Reads: 6,059
Information technology (IT) advances are transforming the way we innovate in business, thereby disrupting the old guard and their predictable status-quo. It’s creating global market turbulence. Industries are converging, and new opportunities and threats are emerging, like never before. So, how are savvy chief information officers (CIOs) leading this transition? Back in 2015, the IBM Institute for Business Value conducted a market study that included the findings from over 1,800 CIO interviews ...
Mar. 29, 2017 01:45 AM EDT Reads: 5,417
"We host and fully manage cloud data services, whether we store, the data, move the data, or run analytics on the data," stated Kamal Shannak, Senior Development Manager, Cloud Data Services, IBM, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 29, 2017 01:15 AM EDT Reads: 9,191
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm.
Mar. 29, 2017 01:15 AM EDT Reads: 2,476
What sort of WebRTC based applications can we expect to see over the next year and beyond? One way to predict development trends is to see what sorts of applications startups are building. In his session at @ThingsExpo, Arin Sime, founder of WebRTC.ventures, will discuss the current and likely future trends in WebRTC application development based on real requests for custom applications from real customers, as well as other public sources of information,
Mar. 29, 2017 01:00 AM EDT Reads: 1,094
Interoute has announced the integration of its Global Cloud Infrastructure platform with Rancher Labs’ container management platform, Rancher. This approach enables enterprises to accelerate their digital transformation and infrastructure investments. Matthew Finnie, Interoute CTO commented “Enterprises developing and building apps in the cloud and those on a path to Digital Transformation need Digital ICT Infrastructure that allows them to build, test and deploy faster than ever before. The int...
Mar. 29, 2017 12:15 AM EDT Reads: 1,398
Whether you like it or not, DevOps is on track for a remarkable alliance with security. The SEC didn’t approve the merger. And your boss hasn’t heard anything about it. Yet, this unruly triumvirate will soon dominate and deliver DevSecOps faster, cheaper, better, and on an unprecedented scale. In his session at DevOps Summit, Frank Bunger, VP of Customer Success at ScriptRock, discussed how this cathartic moment will propel the DevOps movement from such stuff as dreams are made on to a practic...
Mar. 29, 2017 12:15 AM EDT Reads: 8,475