diff --git a/plugins/inputs/udp_listener/README.md b/plugins/inputs/udp_listener/README.md
index e2fe846f9f6d3a1d9dd63d0b010176cafb160d16..724ae43ae61b78917ce60f0d0e319a65c6d1e93d 100644
--- a/plugins/inputs/udp_listener/README.md
+++ b/plugins/inputs/udp_listener/README.md
@@ -12,7 +12,7 @@ This is a sample configuration for the plugin.
 ```toml
 [[inputs.udp_listener]]
   ## Address and port to host UDP listener on
-  service_address = ":8125"
+  service_address = ":8092"
 
   ## Number of UDP messages allowed to queue up. Once filled, the
   ## UDP listener will start dropping packets.
@@ -29,3 +29,63 @@ This is a sample configuration for the plugin.
   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
   data_format = "influx"
 ```
+
+## A Note on UDP OS Buffer Sizes
+
+Some OSes (most notably, Linux) place very restricive limits on the performance
+of UDP protocols. It is _highly_ recommended that you increase these OS limits to
+at least 8MB before trying to run large amounts of UDP traffic to your instance.
+8MB is just a recommendation, and can be adjusted higher.
+
+### Linux
+Check the current UDP/IP receive buffer limit & default by typing the following
+commands:
+
+```
+sysctl net.core.rmem_max
+sysctl net.core.rmem_default
+```
+
+If the values are less than 8388608 bytes you should add the following lines to
+the /etc/sysctl.conf file:
+
+```
+net.core.rmem_max=8388608
+net.core.rmem_default=8388608
+```
+
+Changes to /etc/sysctl.conf do not take effect until reboot.
+To update the values immediately, type the following commands as root:
+
+```
+sysctl -w net.core.rmem_max=8388608
+sysctl -w net.core.rmem_default=8388608
+```
+
+### BSD/Darwin
+
+On BSD/Darwin systems you need to add about a 15% padding to the kernel limit
+socket buffer. Meaning if you want an 8MB buffer (8388608 bytes) you need to set
+the kernel limit to `8388608*1.15 = 9646900`. This is not documented anywhere but
+happens
+[in the kernel here.](https://github.com/freebsd/freebsd/blob/master/sys/kern/uipc_sockbuf.c#L63-L64)
+
+Check the current UDP/IP buffer limit by typing the following command:
+
+```
+sysctl kern.ipc.maxsockbuf
+```
+
+If the value is less than 9646900 bytes you should add the following lines
+to the /etc/sysctl.conf file (create it if necessary):
+
+```
+kern.ipc.maxsockbuf=9646900
+```
+
+Changes to /etc/sysctl.conf do not take effect until reboot.
+To update the values immediately, type the following commands as root:
+
+```
+sysctl -w kern.ipc.maxsockbuf=9646900
+```
diff --git a/plugins/inputs/udp_listener/udp_listener.go b/plugins/inputs/udp_listener/udp_listener.go
index c6d483d4848a7d724a816fa22cceba97fec361b0..7aac3160c73558116a41731112ae5135071f476e 100644
--- a/plugins/inputs/udp_listener/udp_listener.go
+++ b/plugins/inputs/udp_listener/udp_listener.go
@@ -32,7 +32,7 @@ var dropwarn = "ERROR: Message queue full. Discarding line [%s] " +
 
 const sampleConfig = `
   ## Address and port to host UDP listener on
-  service_address = ":8125"
+  service_address = ":8092"
 
   ## Number of UDP messages allowed to queue up. Once filled, the
   ## UDP listener will start dropping packets.
@@ -40,7 +40,7 @@ const sampleConfig = `
 
   ## UDP packet size for the server to listen for. This will depend
   ## on the size of the packets that the client is sending, which is
-  ## usually 1500 bytes.
+  ## usually 1500 bytes, but can be as large as 65,535 bytes.
   udp_packet_size = 1500
 
   ## Data format to consume. This can be "json", "influx" or "graphite"