|
1 | 1 | // Module filename: nw-throughput-troubleshoot.adoc
|
2 | 2 | // Module included in the following assemblies:
|
3 |
| -// * networking/configuring-routing.adoc |
| 3 | +// * networking/routes/route-configuration.adoc |
4 | 4 |
|
| 5 | +:_content-type: CONCEPT |
5 | 6 | [id="nw-throughput-troubleshoot_{context}"]
|
6 |
| -= Troubleshooting throughput issues |
7 |
| -Sometimes applications deployed through {product-title} can cause |
8 |
| -network throughput issues such as unusually high latency between |
9 |
| -specific services. |
| 7 | += Throughput issue troubleshooting methods |
10 | 8 |
|
11 |
| -Use the following methods to analyze performance issues if pod logs do not |
12 |
| -reveal any cause of the problem: |
| 9 | +Sometimes applications deployed by using {product-title} can cause network throughput issues, such as unusually high latency between specific services. |
13 | 10 |
|
14 |
| -* Use a packet analyzer, such as ping or link:http://www.tcpdump.org/[tcpdump] |
15 |
| -to analyze traffic between a pod and its node. |
| 11 | +If pod logs do not reveal any cause of the problem, use the following methods to analyze performance issues: |
| 12 | + |
| 13 | +* Use a packet analyzer, such as `ping` or `tcpdump` to analyze traffic between a pod and its node. |
16 | 14 | +
|
17 |
| -For example, run the tcpdump tool on each pod while reproducing the behavior |
18 |
| -that led to the issue. |
19 |
| -Review the captures on both sides to compare send and receive timestamps to |
20 |
| -analyze the latency of traffic to and from a pod. |
21 |
| -Latency can occur in {product-title} if a node interface is overloaded with |
22 |
| -traffic from other pods, storage devices, or the data plane. |
| 15 | +For example, link:https://access.redhat.com/solutions/4569211[run the `tcpdump` tool on each pod] while reproducing the behavior that led to the issue. Review the captures on both sides to compare send and receive timestamps to analyze the latency of traffic to and from a pod. Latency can occur in {product-title} if a node interface is overloaded with traffic from other pods, storage devices, or the data plane. |
23 | 16 | +
|
24 | 17 | [source,terminal]
|
25 | 18 | ----
|
26 | 19 | $ tcpdump -s 0 -i any -w /tmp/dump.pcap host <podip 1> && host <podip 2> <1>
|
27 | 20 | ----
|
28 | 21 | +
|
29 |
| -<1> `podip` is the IP address for the pod. Run the `oc get pod <pod_name> -o wide` command to get |
30 |
| -the IP address of a pod. |
| 22 | +<1> `podip` is the IP address for the pod. Run the `oc get pod <pod_name> -o wide` command to get the IP address of a pod. |
31 | 23 | +
|
32 |
| -tcpdump generates a file at `/tmp/dump.pcap` containing all traffic between |
33 |
| -these two pods. Ideally, run the analyzer shortly |
34 |
| -before the issue is reproduced and stop the analyzer shortly after the issue |
35 |
| -is finished reproducing to minimize the size of the file. |
36 |
| -You can also run a packet analyzer between the nodes (eliminating the SDN from |
37 |
| - the equation) with: |
| 24 | +The `tcpdump` command generates a file at `/tmp/dump.pcap` containing all traffic between these two pods. You can run the analyzer shortly before the issue is reproduced and stop the analyzer shortly after the issue is finished reproducing to minimize the size of the file. You can also link:https://access.redhat.com/solutions/5074041[run a packet analyzer between the nodes] (eliminating the SDN from the equation) with: |
38 | 25 | +
|
39 | 26 | [source,terminal]
|
40 | 27 | ----
|
41 | 28 | $ tcpdump -s 0 -i any -w /tmp/dump.pcap port 4789
|
42 | 29 | ----
|
43 | 30 |
|
44 |
| -* Use a bandwidth measuring tool, such as iperf, to measure streaming throughput |
45 |
| -and UDP throughput. Run the tool from the pods first, then from the nodes, |
46 |
| -to locate any bottlenecks. |
| 31 | +* Use a bandwidth measuring tool, such as link:https://access.redhat.com/solutions/6129701[`iperf`], to measure streaming throughput and UDP throughput. Locate any bottlenecks by running the tool from the pods first, and then running it from the nodes. |
47 | 32 |
|
48 | 33 | ifdef::openshift-enterprise,openshift-webscale[]
|
49 |
| -** For information on installing and using iperf, see this link:https://access.redhat.com/solutions/33103[Red Hat Solution]. |
| 34 | +** For information on installing and using `iperf`, see this link:https://access.redhat.com/solutions/33103[Red Hat Solution]. |
50 | 35 | endif::openshift-enterprise,openshift-webscale[]
|
| 36 | + |
| 37 | +* In some cases, the cluster may mark the node with the router pod as unhealthy due to latency issues. Use worker latency profiles to adjust the frequency that the cluster waits for a status update from the node before taking action. |
| 38 | +
|
| 39 | +* If your cluster has designated lower-latency and higher-latency nodes, configure the `spec.nodePlacement` field in the Ingress Controller to control the placement of the router pod. |
0 commit comments