traceroutetool records the route's history as the round-trip times
gcpingcommand-line tool to determine median latencies from any location to various Google Cloud regions.
tcpdumpand iPerf3 on a Linux VM machine.
-sflag tells iPerf3 to run as a server.
-c(client) flag and specify the destination IP address of the iPerf3 server. By default, iPerf3 uses TCP, unless you specify the
-u(UDP) flag for the client. No such flag is needed server-side for UDP; however, a firewall rule allowing incoming UDP traffic to the server is required.
-p(port) flag. If you omit the port flag, the client assumes that the destination port is 5201.
-P(parallel threads) flag to specify a number of simultaneous threads, and use the
-t(time) flag to specify the duration of the test, in seconds.
setsockopt()calls, use this command instead:
eth0interface, saving a file in the working directory called
-s(snapshot length) flag with a value of
tcpdumpwill capture entire packets. Be aware that the packet captures can contain sensitive information. Most
-s 0to be the same as
-s 262144. See the tcpdump man page for details. To reduce the chances of capturing sensitive information, you can capture just packet headers by providing a lower snapshot length value, such as
eth0on all distributions, and you'll need to specifically choose the right interface for a multiple network interface VM.
-Pflag launches multiple client streams, but these all run in a single thread.
[MACHINE_TYPE]: The machine type that you want to test (for example, n1-standard-32).
[ZONE]: The zone to create the instance in.
[NUMBER_OF_VCPUS]: The number of vCPUs of the instance (for example, 32 for the n1-standard-32 machine type).
net.coreset, which come into play when applications such as
setsockopt()calls to set
SO_RCVBUF. Making explicit
SO_RCVBUFdisables Linux's autotuning of socket buffers and thus TCP window size. The following are the tuning options for this case:
SO_RCVBUFis influenced by increasing
SO_SNDBUFis influenced by increasing
net.ipv4set, which come into play when the application does not make explicit
setsockopt()calls, and so when Linux's autotuning of socket buffer and thus TCP window size is still active: