Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
litespeed_wiki:config:vhost-level_bw_throttling [2014/09/25 15:13]
Michael Armstrong created
litespeed_wiki:config:vhost-level_bw_throttling [2019/06/05 19:40]
George Wang [BandWidth]
Line 1: Line 1:
 ====== Virtual Host-Level Bandwidth Throttling ====== ====== Virtual Host-Level Bandwidth Throttling ======
  
-LiteSpeed Web Server version 5.0 introduces virtual host-level bandwidth throttling. This can be thought of as an extension of LSWS's [[http://​www.litespeedtech.com/​docs/​webserver/​config/​security#​perClientConnLimit|Per Client Throttling settings]], which allow you to control the amount of stress a single IP can put on your server. Virtual host-level bandwidth throttling allows you to customize bandwidth throttling, in Apache configs, for particular virtual hosts. ​This allows you to set up stricter settings for sites that you know are targets or more lenient settings for sites that might require a lot of bandwidth going to one IP. (This has been available for some time in vhosts with LSWS-native configs.) It also allows for throttling bandwidth by file type and size.+LiteSpeed Web Server version 5.0 introduces virtual host-level bandwidth throttling. This can be thought of as an extension of LSWS's [[http://​www.litespeedtech.com/​docs/​webserver/​config/​security#​perClientConnLimit|Per Client Throttling settings]], which allow you to control the amount of stress a single IP can put on your server. Virtual host-level bandwidth throttling allows you to customize bandwidth throttling, in Apache configs, for particular virtual hosts. ​You can now set up stricter settings for sites that you know are targets or more lenient settings for sites that might require a lot of bandwidth going to one IP. (This has been available for some time in vhosts with LSWS-native configs.) It also allows for throttling bandwidth by file type and size.
  
-LSWS's implementation of this bandwidth throttling follows syntax similar to that used by Apache’s mod_bw. Bandwidth throttling directives can only be placed in virtual host configuration file, not an .htaccess file.+====== Configuration ======
  
 +LSWS's implementation of this bandwidth throttling follows syntax similar to that used by Apache’s [[http://​bwmod.sourceforge.net/​files/​mod_bw-0.7.txt|mod_bw]]. Bandwidth throttling directives can only be placed in virtual host configuration file, not an .htaccess file.
  
 +**Note:** LSWS simply lowers bandwidth as users get close to limits. It does not return error pages.
 +
 +===== Directives =====
 +
 +==== VhostBandwidthLimit ====
 +
 +Syntax:
 +
 +  VhostBandwidthLimit [Speed in bytes/s]
 +
 +The ''​VhostBandwidthLimit''​ directive controls the amount of bandwidth allotted to a virtual host regardless the number of concurrent visitors. It can only be set in at virtual host level in Apache configuration file or through Apache Style config in native LSWS configuration. ​
 +
 +It takes 1 parameters:
 +
 +  * ''​Speed''​ indicates the total speed available to the virtual host. If ''​Speed''​ is less than ''​4097'',​ there is no limit.
 +
 +
 +==== BandWidth ====
 +
 +Syntax:
 +
 +  BandWidth [Origin] [Speed in bytes/s]
 +
 +The BandWidth directive controls the amount of bandwidth allotted to specific users. It takes 2 parameters:
 +
 +  * ''​Origin''​ is the origin of the connections. It can be a single IP address, a set of IP addresses, a network mask, or ''​all''​.
 +  * ''​Speed''​ indicates the total speed available to the ''​Origin''​. If ''​Speed''​ is ''​0'',​ there is no limit.
 +
 +==== MinBandWidth ====
 +
 +Syntax:
 +
 +  BandWidth all [Speed in bytes/s]
 +  MinBandWidth all -1
 +
 +LSWS only supports one use of MinBandWidth:​ ''​MinBandWidth all -1''​. When used in conjunction with the BandWidth directive (as above), this specifies the top speed for all clients.
 +
 +==== LargeFileLimit ====
 +
 +Syntax:
 +
 +  LargeFileLimit [Type] [Minimum Size in kilobytes] [Speed in bytes/s]
 +  ​
 +The LargeFileLimit directive allows you to throttle the bandwidth that certain large files use. It takes three parameters:
 +
 +  * ''​Type''​ is the suffix of files to be throttled. ''​*''​ can be used to designate all files.
 +  * ''​Minimum Size''​ tells the server the size of files to be throttled.
 +  * ''​Speed''​ indicates the maximum speed at which these files can be served.
 +
 +==== MaxConnPerClient ====
 +
 +Syntax:
 +
 +  MaxConnPerClient <​limit_for_connections>​
 +
 +The MaxConnPerClient directive allows you to configure the maximum concurrent connections from one IP.
 +  * ''​limit_for_connections''​ set the connection limit.
 +===== Examples =====
 +
 +  BandWidth all 102400
 +  ​
 +The above setting would limit the total bandwidth allowed to this virtual host to 100KB/s
 +
 +  BandWidth all 50000
 +  MinBandWidth all -1
 +  LargeFileLimit .avi 500 10240
 +
 +The above settings limit each client to 50KB/s with no maximum total bandwidth. .avi files of 500KB or greater, though, are limited to 10KB/s.
  • Admin
  • Last modified: 2019/06/05 19:45
  • by Lisa Clarke