Sparkle Public Tracker 欢迎各位尝试测试

昨晚提交了公共 Tracker 列表后,今天 Tracker QOS 一路飞升。
看了一下 hp/torrent 和 dt/torrent 已经开始疯狂刷 Tracker 了。

拉了个图表,能看到 Tracker 里面被大量的 hp/torrent 占据。

目前请求数量维持在 100 左右。

2個讚

话说我同时运行几百个做种任务,加上了这个Tracker,不知道负载会如何。

这就是上方提到的差分技术了,把每个任务的时间错开,几百个任务算少的了,挂几万任务的人很多的

考虑到下载的人都会去请求这个Tracker,所以不好说负载如何。

负载昨晚测试的结果是50请求就崩溃了,看今天优化的怎么样了吧,看了下github提交记录,今天提交了几十个代码更新

而且BitComet在开启做种任务的时候,是会同时请求的,所以会带来瞬时的高并发。

现在 150 qps 可以稳定了,具体能到多高还没测,但昨晚的压力是没问题了。

虽说BitComet在返回结果无效时会逐步延长等待时间,但还是会容易产生雪崩。

我来试试看。

这个没办法,所有bt软件都是这样的,等待成功后返回时间就行了,有了差分技术后,BT软件后续产生的请求时间就错开了

这是BEP协议规定这么做的

所以还是尽量确保实际可以处理的上限高于预期并发的50%~75%比较好。

我看大部分在5s以内会有响应,但少数有20~30s不等的响应时延。

有 announce 并发控制,Sparkle 目前设置最多同时处理 200 个 announce,其它的会等待。
我会看情况调整这个并发设置。

如果可以的话,可以把加减现有预期更新间隔的一半作为更新时间变化的幅度,这样的话可以充分均分请求的密度,尽可能削峰,理论上可以做到服务实际处理QPS上限的1800倍个种子的查询请求。

别这么干,用户IP改变,系统唤醒,程序退出会同时announce所有种子。还是会死的,不会解决根本问题。

现在已经有这个机制了。

确实是这个作用,但是不能减少请求量,该有的还是有的,就和帖子里面的图片显示一样,让CPU变得一条线平滑起来,不会出现高峰占用
加减一般在6分钟内比较好,也就是上下3分钟,看了下sparkle的源码目前是上下30秒,可以适当改大点
减少请求量的唯一有效手段就是增长时间,例如通知客户端下次更新时间为2小时,甚至24小时

测试可以随时开始

现在正好是晚高峰,先调度10%流量试一下,规则部署上去节点了

请求看到了,现在 QPS 在 340 (430 max.) 左右。

announce 次数在 440/s 的样子。

[Tracker 实时] 总Peer: 165185, 唯一Peer: 165195, 唯一IP: 165216, 活动种子: 165241

^上面的数据可能看起来很奇怪,因为是分开查询的,查询之间也会有新 Peer 插入。


我这边除了少数几个提交的有问题的announce外(IP地址不合法),其它的看起来都正常处理了。

EDIT:我觉得可以多调度一点流量,现在 10% 处理起来看着绰绰有余了。