mirror of
				https://github.com/3proxy/3proxy.git
				synced 2025-11-04 07:42:39 +08:00 
			
		
		
		
	Highload docs correction
This commit is contained in:
		
							parent
							
								
									930d9823ea
								
							
						
					
					
						commit
						54e9f9cedd
					
				@ -28,9 +28,10 @@ Each connected client require:
 | 
				
			|||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
<li>1*thread (process)
 | 
					<li>1*thread (process)
 | 
				
			||||||
<li>2*socket (file descriptor). For FTP 4 sockets are required. 
 | 
					<li>2*socket (file descriptor). For FTP 4 sockets are required. 
 | 
				
			||||||
<br>Under linux since 0.9 splice() is used. It much more effective, but requires
 | 
					<br>Under linux since 0.9 splice() is used. It's much more effective, but requires
 | 
				
			||||||
<br>2*socket (file descriptor) + 2*pipe (file descriptors) = 4 file descriptors.
 | 
					<br>2*socket (file descriptor) + 2*pipe (file descriptors) = 4 file descriptors.
 | 
				
			||||||
<br>For FTP 4 sockets and 2 pipes are required with splice().
 | 
					<br>For FTP 4 sockets and 2 pipes are required with splice().
 | 
				
			||||||
 | 
					<br>Up to 128K (up to 256K in the case of splice()) of kernel buffers memory. This is theoretical maximum, actual numbers depend on connection quality and traffic amount.
 | 
				
			||||||
<br>1 additional socket (file descriptor) during name resolution for non-cached names
 | 
					<br>1 additional socket (file descriptor) during name resolution for non-cached names
 | 
				
			||||||
<br>1 additional socket during authentication or logging for RADIUS authentication or logging.
 | 
					<br>1 additional socket during authentication or logging for RADIUS authentication or logging.
 | 
				
			||||||
<li>1*ephemeral port (3*ephemeral ports for FTP connection).
 | 
					<li>1*ephemeral port (3*ephemeral ports for FTP connection).
 | 
				
			||||||
@ -60,6 +61,16 @@ socket and -os for proxy-to-server socket. Example:
 | 
				
			|||||||
proxy -olSO_REUSEADDR,SO_REUSEPORT -ocTCP_TIMESTAMPS,TCP_NODELAY -osTCP_NODELAY
 | 
					proxy -olSO_REUSEADDR,SO_REUSEPORT -ocTCP_TIMESTAMPS,TCP_NODELAY -osTCP_NODELAY
 | 
				
			||||||
</pre>
 | 
					</pre>
 | 
				
			||||||
available options are system dependant.
 | 
					available options are system dependant.
 | 
				
			||||||
 | 
					<h5>Using 3proxy in virtual environment</h5>
 | 
				
			||||||
 | 
					If 3proxy is used in VPS environment, there can be additional limitations. 
 | 
				
			||||||
 | 
					For example, kernel resources / system CPU usage can be limited in a different way, and this can become a bottleneck. 
 | 
				
			||||||
 | 
					Since 0.9 devel, 3proxy uses splice() by default on Linux, splice() prevents network traffic from being copied from
 | 
				
			||||||
 | 
					kernel space to 3proxy process and generally increases throughput, epecially in the case of high volume traffic. But
 | 
				
			||||||
 | 
					since some work is moved to kernel, it requires up to 2 times more system resources in terms of CPU and memory.
 | 
				
			||||||
 | 
					Use -s0 option to disable splice() usage for given service, if system resources are additionally limited, e.g.
 | 
				
			||||||
 | 
					<pre> 
 | 
				
			||||||
 | 
					socks -s0
 | 
				
			||||||
 | 
					</pre>
 | 
				
			||||||
<h4>Extending ephemeral port range</h4>
 | 
					<h4>Extending ephemeral port range</h4>
 | 
				
			||||||
Check ephemeral port range for your system and extend it to the number of the
 | 
					Check ephemeral port range for your system and extend it to the number of the
 | 
				
			||||||
ports required.
 | 
					ports required.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user