Network Visibility makes it easy to answer the question: Is the network impacting my application's performance? This section describes the high-level troubleshooting workflows and includes several examples of how to use these workflows to solve real-world network problems.
I'm in the Application Dashboard and I see slow, very slow, error, or stalled transactions. Are network conditions to blame?
Application Dashboard: Are network conditions to blame for the issue?
Network agents collect network-performance metrics for each application tier. If you see performance issues in the Application Flow Map, open a popup and click the Network tab. Do you see correlations between the Response Time and the other charts? If so, it indicates that the Response Time is affected by
- TCP effects between the two tiers (Latency).
- Performance Impacting Events at the client tier, server tier, or the network path between the tiers (PIE).
- Errors setting up or tearing down TCP connections (Errors).
Network Dashboard: Which network tiers and links are associated with these network conditions?
Go to the Network Dashboard, which shows the TCP and network context for the application. Each tier and link has a View Metrics right-click option that opens a context-sensitive dashboard. The dashboard charts make it easy to find network root causes. Start from the top-left chart in each dashboard, then look for metric correlations in the other charts.
The tier dashboard answers the question: Which network metrics on this tier correlate with my outlier transactions?
The link and tier dashboards both have a Network Pie - Contributors chart, which answers the question: Where are these network conditions occurring – on the client tier, server tier, or the network link?
In this example, the top chart shows that a spike in Stalled transactions is correlated with a spike in PIE (Performance Impacting Events); the bottom chart shows that these events occurred on the client tier. Given this information, you can then find other correlated metrics and identify the issues on the client tier.
You now have a set of correlated network metrics and associated tiers/links. In many cases, this information is enough to identify and resolve the issue. You can contact your network team and say: I see the following network issues on tier X, link Y, etc. and these issues correlate with performance issues in my application. You can send them a URL to the Network Dashboard and say: Click on link Y and look at the connections. The issues are happening on one or more of these connections. This is often enough information for the networking team to identify and resolve the issue.
Network Dashboard (Advanced Diagnosis): On which TCP connections are these network issues occurring?
If you need to collect more information, you can drill down to the TCP connection(s) where the network conditions are occurring. Click on the relevant network link and choose Connections in the popup. Sort the table based on the KPI metrics for the monitored connections (Throughput, TCP Loss, PIE, Errors). You can then right-click on a connection and view metrics in the Metric Browser or in a context-sensitive dashboard.
Network Agents do not monitor individual Connections by default. The recommended workflow is to enable Connection monitoring only after you narrow an issue down to a specific set of links. See Dynamic Monitoring Mode and Network Visibility.
I'm troubleshooting a specific outlier (Slow, Very Slow, Error, or Stalled) transaction. Are network conditions to blame?
- Transaction Snapshots list: Is the network to blame for a specific slow, stalled, or Error transaction?
- Transaction Snapshot viewer: Where (at which tier) are the delays, stalls, or errors occurring?
- Network Dashboard for Transaction Snapshot: Are there any correlations between problematic transactions and network-performance issues around the time of this transaction?
Transaction Snapshots list: Is the network to blame for a specific slow, stalled, or Error transaction?
You can diagnose the network performance for an individual transaction in the transaction viewer. Double-click on a snapshot in a Transaction Snapshots list.
Transaction Snapshot viewer: Where (at which tier) are the delays, stalls, or errors occurring?
When the Transaction viewer appears, click Drill Down on the tier where the delays, stalls, or errors are occurring.
In the Tier Overview tab, click Network.
Network Dashboard for Transaction Snapshot: Are there any correlations between problematic transactions and network-performance issues around the time of this transaction?
The transaction dashboard shows the rate of transaction outliers, Performance Impacting Events, and Network Errors when the transaction occurred. Each chart has the Snapshot Timerange highlighted. The Network Impact on Transactions chart (top left) highlights any correlations between transaction outliers, Network Errors, and Performance Impacting Events. You can then look for correlations in other charts and "drill down" to the root cause.
Network Health Check
I don't see any application issues right now, but I'd like to monitor my network and identify any potential issues before they start to affect my applications.
Network Dashboard: Is any tier or link performing outside its baseline?
To perform a quick network health check, go to the Network Dashboard and enable baselining. Elements with network KPIs that exceed the baseline for that element are colored yellow or red.
If the network KPIs for a tier or link are outside the performance baseline for that element, you can view baselines and outliers for that element in the Network tab of the popup. If an element has KPI outliers, you can also diagnose that element in a context-sensitive dashboard (right-click and choose View Metrics).
Network Dashboard: Do any network links or connections have significant performance issues?
To see immediately if any links or connections have performance issues, open the Connections Explorer (click the Explorer link to the immediate right of the Network Flow Map). Here you can see the KPIs of all network links and connections in one table. You can sort the table based on KPIs or Errors and expand each network-link to view KPIs for all connections within that link.
Example Use Cases
- Network Congestion - Example Use Case
- Packet Loss - Example Use Case
- TCP Port Exhaustion - Example Use Case
- TCP Window Bottlenecks - Example Use Case
- Traffic Throttling - Example Use Case