由西西工作室开发的一个用于防盗链和限制iis连接线程的组件。
主要功能:
1、可以限制一个IP只允许几个线程来下载文件。
2、限制每一个文件只允许最多几个线程下载。
3、简单的防盗链功能 可以支持需要防盗链的后缀名,可以添加白名单,指定如果盗链就重定向的URL。
西西通过一个简单的实例来说明一下 限制IP连接数的需求:
一般下载服务器硬盘 普通的桌面级的SATA、高级一点的就用SAS专用硬盘,比如一个SATA硬盘只支持2000个HTTP链接线程。现在一般下软件都用迅雷等多线程的方式下载,比如每个人用20个线程下载一个文件,100个人同时下载那就是 2000个线程,但如果限制为一个IP只允许2个线程下载那么 就可以支持同时 1000个人下载,大大提高服务器的效率。
另外如果服务器还是只支持 2000线程 但其中一个文件下载量超大就把这2000个线程下完了,那这个站点下面的其它文件就无法下载了。可以用 限制一个文件最多允许的线程限制一下。
适当的限制一下线程是有利于优化下载服务器,提高迅雷类拟的P2P下载软件的利用效率。一台100Mb 带宽的服务器不限制的时候可能只能跑到50M但适当限制也许就能跑到100M了。
本组件已经应用于西西下载服务器,经过一段时间的测试效果比较明显。
需要IIS用 IsapI的方式加载组件,西西只在2003服务器上测试 2008服务器的话需要安装ISAPI扩展。
打开IIS 在 网站 -> ISAPI筛选器 点添加
筛选器名称随便写个 可执行文件就浏览到 ThreadLimit.dll 再点确定就可以添加上。添加完后最好是重启一下IIS。
另外在修改配置文件后都需要重启一下IIS使配置可以生效。另外如果状态这里是打上一把红色勾勾的话请大家可以给一下 ThreadLimit.dll 所在目录完全权限.
本过滤器提供3个接口
接口访问方式是:域名 + 接口名称(如 http://www.abc.com/online)
Debug
显示过滤器执行情况
Online
显示当前在线IP及其连接数
Urls
显示正在被访问的文件及其连接数