Differences

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

Link to this comparison view

Next revision
Previous 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:45] (current)
Lisa Clarke [VhostBandwidthLimit] Proofreading
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 of the number of concurrent visitors. It can only be set at the virtual host level in the Apache configuration file or through Apache-style config in native LSWS configuration. ​
 +
 +It takes 1 parameter:
 +
 +  * ''​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: 2014/09/25 15:13
  • by Michael Armstrong