设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 845|回复: 0

NexusPHP pt站tracker服务器性能优化,改动announce.php代码加入随机间隔汇报

[复制链接]
 成长值: 249

签到天数: 4708 天

[LV.Master]伴坛终老

发表于 2024/4/9 02:54 | 显示全部楼层 |阅读模式 |Google Chrome 123.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
NexusPHP pt站tracker服务器性能优化,改动announce.php代码加入随机间隔汇报

问题现象,有些用户挂了几千个种子,会在1秒内高达几千的并发连接数请求到达服务器中,导致服务器定期时间出现异常高cpu消耗,如图所示


本代码修复了这个问题,加入差分技术实现为每一个种子的间隔时间错开峰值,不在出现服务器异常CPU高峰值

源代码
  1. $real_annnounce_interval = $announce_interval;
  2. if ($anninterthreeage && ($anninterthree > $announce_wait) && (TIMENOW - $torrent['ts']) >= ($anninterthreeage * 86400))
  3. $real_annnounce_interval = $anninterthree;
  4. elseif ($annintertwoage && ($annintertwo > $announce_wait) && (TIMENOW - $torrent['ts']) >= ($annintertwoage * 86400))
  5. $real_annnounce_interval = $annintertwo;
复制代码


新代码
  1. // https://bbs.itzmx.com/thread-106752-1-1.html
  2. $OT_CLIENT_REQUEST_INTERVAL = $announce_interval;
  3. $OT_CLIENT_REQUEST_INTERVAL2 = $annintertwo;
  4. $OT_CLIENT_REQUEST_INTERVAL3 = $anninterthree;
  5. $OT_CLIENT_REQUEST_VARIATION = 60 * 6; // random 6 minute
  6. $announce_interval_random = $OT_CLIENT_REQUEST_INTERVAL - $OT_CLIENT_REQUEST_VARIATION / 2 + mt_rand(0, $OT_CLIENT_REQUEST_VARIATION);
  7. $announce_interval_random2 = $OT_CLIENT_REQUEST_INTERVAL2 - $OT_CLIENT_REQUEST_VARIATION / 2 + mt_rand(0, $OT_CLIENT_REQUEST_VARIATION);
  8. $announce_interval_random3 = $OT_CLIENT_REQUEST_INTERVAL3 - $OT_CLIENT_REQUEST_VARIATION / 2 + mt_rand(0, $OT_CLIENT_REQUEST_VARIATION);

  9. $real_annnounce_interval = $announce_interval_random;
  10. if ($anninterthreeage && ($anninterthree > $announce_wait) && (TIMENOW - $torrent['ts']) >= ($anninterthreeage * 86400))
  11. $real_annnounce_interval = $announce_interval_random3;
  12. elseif ($annintertwoage && ($annintertwo > $announce_wait) && (TIMENOW - $torrent['ts']) >= ($annintertwoage * 86400))
  13. $real_annnounce_interval = $announce_interval_random2;
复制代码


修复后的代码下载: announce.7z (4.41 KB, 下载次数: 2)
[发帖际遇]: 小樱 发帖时在路边捡到 2 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/24 05:43 , Processed in 0.097564 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表