| 
									
										
										
										
											2019-05-03 10:40:02 -07:00
										 |  |  | # |source| this file | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2019-10-11 13:30:52 -06:00
										 |  |  | # Adjusts system settings for optimal validator performance | 
					
						
							| 
									
										
										
										
											2019-05-03 10:40:02 -07:00
										 |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-05 09:10:23 -07:00
										 |  |  | sysctl_write() { | 
					
						
							|  |  |  |   declare name=$1 | 
					
						
							|  |  |  |   declare new_value=$2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Test the existence of the sysctl before trying to set it | 
					
						
							| 
									
										
										
										
											2019-06-05 14:11:03 -07:00
										 |  |  |   sysctl "$name" 2>/dev/null 1>/dev/null || return 0 | 
					
						
							| 
									
										
										
										
											2019-06-05 09:10:23 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   declare current_value | 
					
						
							|  |  |  |   current_value=$(sysctl -n "$name") | 
					
						
							| 
									
										
										
										
											2019-06-05 14:11:03 -07:00
										 |  |  |   [[ $current_value != "$new_value" ]] || return 0 | 
					
						
							| 
									
										
										
										
											2019-06-05 09:10:23 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   declare cmd="sysctl -w $name=$new_value" | 
					
						
							|  |  |  |   if [[ -n $SUDO_OK ]]; then | 
					
						
							|  |  |  |     cmd="sudo $cmd" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "$ $cmd" | 
					
						
							| 
									
										
										
										
											2019-07-29 21:25:28 -07:00
										 |  |  |   $cmd || true | 
					
						
							| 
									
										
										
										
											2019-06-05 09:10:23 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # Some versions of sysctl exit with 0 on permission denied errors | 
					
						
							|  |  |  |   current_value=$(sysctl -n "$name") | 
					
						
							|  |  |  |   if [[ $current_value != "$new_value" ]]; then | 
					
						
							|  |  |  |     echo "==> Failed to set $name.  Try running: \"SUDO_OK=1 source ${BASH_SOURCE[0]}\"" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | case $(uname) in | 
					
						
							|  |  |  | Linux) | 
					
						
							|  |  |  |   # Reference: https://medium.com/@CameronSparr/increase-os-udp-buffers-to-improve-performance-51d167bb1360 | 
					
						
							| 
									
										
										
										
											2019-10-17 14:52:24 -07:00
										 |  |  |   sysctl_write net.core.rmem_max 134217728 | 
					
						
							|  |  |  |   sysctl_write net.core.rmem_default 134217728 | 
					
						
							|  |  |  |   sysctl_write net.core.wmem_max 134217728 | 
					
						
							|  |  |  |   sysctl_write net.core.wmem_default 134217728 | 
					
						
							| 
									
										
										
										
											2019-06-05 09:10:23 -07:00
										 |  |  |   ;; | 
					
						
							|  |  |  | *) | 
					
						
							|  |  |  |   ;; | 
					
						
							|  |  |  | esac | 
					
						
							| 
									
										
										
										
											2019-05-03 10:40:02 -07:00
										 |  |  | 
 |