Goodput is the transfer rate of data. It refers to the transfer rate of data less the overhead traffic that a computer may encounter. Overhead traffic includes session establishment, acknowledgments, and data encapsulation. These traffic types consume a significant amount of throughput. Including them in the goodput calculation is not useful. It is important to understand the difference between throughput and goodput. In general, a high throughput rate translates into a high goodput rate.
While throughput is the overall rate of a network connection, goodput is the amount of useful data that can be transferred. It is calculated by dividing the original data by the time it takes to transfer the data. For example, a five-megabyte file might contain 300 kilobytes of header and acknowledgments. Therefore, goodput represents the speed at which the information is available to the application layer. This is the same speed that web browsers use to describe the speed of downloads.
Throughput measures the amount of data that can be sent or received from a network. For example, a five-megabyte file may require 300 kilobytes of acknowledgments. The throughput for this type of process is 5.3 megabytes per hour. In contrast, goodput refers to the amount of data that can be sent or transferred in a given period of time. While the former is a more useful measure, the latter is more valuable as it reflects valuable information only.