Transcription

Data SheetHow to use PsPing to test ping, latency &bandwidth between Blue Prism componentsIntroductionWhen you are experiencing slow performance across your Blue Prism environment it may be caused bynetwork factors such as high latency and low bandwidth. This slow performance may manifest as slowingloading or saving or processes and objects, slow updates in Control Room or slower running of processes. Itmay even be a combination of all these.It is useful if you can determine various performance metrics such as latency times and bandwidthperformance between two different Blue Prism component machines. This can help you identify possiblenetwork faults or understand the load put on your network by Blue Prism client interactions or by running aparticular process.In addition, by measuring these statistics when your system is performing normally you will be able to form abaseline using these metrics. This will give you a good understanding of your network performance undernormal conditions and use this for comparison when your system is experiencing abnormal performance.The PsPing tool from Microsoft nloads/psping) can beused to measure bandwidth and latency between Windows machines over TCP connections as well as providemore information than the standard ping tool. This can help diagnose network connectivity & performanceissues you may be experiencing on your Blue Prism environment.You can download PSPing as a part of the SysInternals toolset by visiting https://docs.microsoft.com/enus/sysinternals/ or as a separate download here.PSPing is a self-contained executable file, so simply copy it to a directory that is already in your path (or addyour chosen directory to your path) so that you can run it without having to specify the filesystem location. E.g.entering the following command in a Windows command prompt will bring up information messages about thetool:pspingCommercial in ConfidencePage 1 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuidePsPing can perform ICMP pings as well as TCP pings. TCP pings are useful if ICMP pings have been blocked byyour Network Team and you can also target a service running on a specific port on a machine. This allows youto test the same ports that are being used by your Blue Prism components, for example the Runtime Resourcedefault port of 8181 and the Application Server (App Server) default port of 8199.You and your infrastructure teams can gain valuable insight into your network performance by running thesetests during times when your Blue Prism systems are both busy and quiet. This will give you a good referencepoint when diagnosing and troubleshooting network issues when they arise.Below is a communication summary diagram showing the different Blue Prism components. PsPing can beinstalled on any of these machines for the tests, including the SQL Server database server.ICMP ping testsAn ICMP test is similar to standard Windows ping and produces the same statistics but with more precision. Italso offers histograms, control of interval, payload and iterations and the ability to use IPv4 or IPv6.The following example performs an ICMP ping to display a histogram with 10 buckets, ping as quickly aspossible, use a 1500-byte payload, send 10 pings (with the default of 1 for warmup) and using IPv4:psping -h 10 -i 0 -l 1500 -n 10 -4 10.44.1.12Commercial in ConfidencePage 2 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuideCommand switch usage:Parameter-hDescriptionPrint histogram (default bucket count is 20).If you specify a single argument, it's interpreted as a bucket count and thehistogram will contain that number of buckets covering the entire time range ofvalues. Specify a comma-separated list of times to create a custom histogram(e.g. "0.01,0.05,1,5,10").-iInterval in seconds. Specify 0 for fast ping.-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.-nNumber of pings or append 's' to specify seconds e.g. '10s'.-4Force using IPv4.Commercial in ConfidencePage 3 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuideTCP ping testsICMP ping tests can be used just to check that a target machine is “up” and contactable, but TCP ping can beused to check whether a service on a port can be communicated with, such as the default Runtime Resourceport of 8181.To execute a TCP connect test, specify the port number. The following example executes connect attemptsagainst the target IP address and port 8181 as quickly as possible, only printing a summary after 100 iterationsand 1 warmup:psping -n 100 -i 0 -q 10.44.1.12:8181Command switch usage:ParameterDescription-iInterval in seconds. Specify 0 for fast ping.-nNumber of pings or append 's' to specify seconds e.g. '10s'.-qDon't output during pings.Latency TestingNetwork latency is a measurement of the time it takes for some data to get to its destination across thenetwork. It is usually measured as the time taken for information to get to its destination and back again. Thisround-trip delay has a key impact on the performance of the network.You can test the latency between two Blue Prism component machines (e.g. an App Server and a RuntimeResource) by having PsPing running on each of the components. One machine will listen on a specific port andthe other machine will then be used to target that port.Please see the example below:We first start a PsPing ‘listener session’ on the machine and port we want to target from the Runtime Resourcemachine:psping -4 -s 10.44.1.12:8181Commercial in ConfidencePage 4 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuideThis starts up a listener using the specified IP address on TCP port 8181. If the Windows firewall needs openinguse the ‘-f’ switch to do this. Open the ‘CMD’ prompt with Administrator permissions if this is required.Please note this is not a Blue Prism Runtime Resource listener, it is the PsPing ‘target’ session.The latency is then tested from another Blue Prism component machine (e.g. the App Server) using thefollowing command:psping -4 -h 10 -n 10 -l 1000 10.44.1.12:8181This uses IPv4, creates a histogram, uses 1000 bytes of payload and targets TCP port 8181 on address10.44.1.12.Commercial in ConfidencePage 5 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuideCommand switch usage:ParameterDescription-nNumber of sends/receives. Append 's' to specify seconds e.g. '10s'-rReceive from the server instead of sending.-sServer listening address and port.-4Force using IPv4.-hPrint histogram (default bucket count is 20).-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.Bandwidth TestingBandwidth is a measure of how much data can be transferred between two devices in a given time. This istypically measured in megabytes per second. Networks with higher bandwidth are able to transfer a greaternumber of data packets than those with a low bandwidth. A common analogy is to think of data transfer aswater flowing through a hosepipe - there's a limit to the amount of water that can fit inside the pipe at anygiven moment, with larger capacity pipes being able to carry more. The narrower it is, i.e. the smallerbandwidth, the less data is able to be pushed through it at once and vice-versa.Like the previous test you should have one machine listening on a TCP port and the other machine can then‘ping’ this machine with packets of data. After the test is complete the PsPing tool will give you bandwidthstatistics showing how much data was able to be transferred between the two machines.Please see below for an example of using both the server and client for the bandwidth test.psping -b -4 -n 4000 -l 5000 10.44.1.12:8181This starts the bandwidth test using IPv4, with 4000 packets of 5000 bytes in size. Note the bandwidth resultsafter the test completes.On the client (target) machine that is ‘listening’ on port 8181 we see the following corresponding display whenthe test is ongoing and then completes:Commercial in ConfidencePage 6 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration GuideCommand switch usage:ParameterDescription-bBandwidth test.-iNumber of outstanding I/Os (default is min of 16 and 2x CPU cores).-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.-nNumber of sends/receives. Append 's' to specify seconds e.g. '10s'-rReceive from the server instead of sending.-sServer listening address and port.ConclusionBy performing the tests described, it will give you performance metrics by which you and your Network Teamcan assess both the impact and help pinpoint possible causes of why your Blue Prism environment appears tobe slower than normal. Having a baseline set of metrics allows you to compare performance when it is slow andwhen operating normally.As an example, when you see ‘ping’ times of 50ms or greater and your baseline is 20ms then this may indicatesome change in network infrastructure such as transmission errors (e.g. dropped packets), different routestaken for the traffic to get from point A to point B, changes to bridges or switches. Ping times of greater than20ms can start to affect Interactive Client activity and slow down updates to the interface such as when inControl Room or when loading/saving processes and objects.Latency can create bottlenecks within the network and reduces the amount of data which can be transferredover time. It can be temporary or persistent so testing should be done over a period of time to give a goodsample of performance data.The examples used in this document were produced in a Virtual Machine environment on one physicalmachine. Real world environments using LAN and WAN networks will produce different results. Again,performing your own tests will help you create a baseline for your own environment.As an example, if you have a gigabit ethernet card on your Blue Prism machine, your router or switch is gigabitand the receiving device also has a gigabit ethernet card, your maximum transfer speed will be a theoreticalmaximum of 1000 Mbps (1000 megabits per second) or 125 MBps (125 megabytes per second). You are unlikelyCommercial in ConfidencePage 7 of 8

How to use PsPing to test ping, latency & bandwidth between Blue Prism componentsBlue Prism Configuration Guideto see this theoretical speed, but you will typically get anywhere from 70 to 115 MBps depending on the type offiles you are transferring and your network setup. In the first instance you should work with your Network andInfrastructure Teams if your network is not performing as normal.If you are experiencing slow performance across your Blue Prism network, check both the latency andbandwidth metrics between components and work with your Network Team to help identify the bottlenecks.Commercial in ConfidencePage 8 of 8

installed on any of these machines for the tests, including the SQL Server database server. ICMP ping tests An ICMP test is similar to standard Windows ping and produces the same statistics but with more precision. It also offers histograms, control of interval, pa