xiaomlove / nexusphp

A private tracker application base on NexusPHP
https://nexusphp.org
GNU General Public License v2.0
885 stars 180 forks source link

关于tracker汇报一些建议优化方式 #230

Closed spacey0409 closed 9 months ago

spacey0409 commented 11 months ago

客户端做tracker汇报时候会对数据库产生压力, 会关联到user、torrents、peers 还有snatched表,user、torrents表相对可以缓存到redis中,然而peers和snatched是不方便的。 解决方案: 1.可从torrentid或userid取模的方式进项优化分表入库,减少单表查询的压力。 2.tracker服务拆分为多节点服务,因为上层是nginx,支持请求轮训策略(难度稍大)

spacey0409 commented 11 months ago

不太会php,自己本身是做java的,只能读代码看懂tracker汇报主要逻辑,按照做java的经验提出一些建议

xiaomlove commented 11 months ago

1、数据量不是很大的,而且查询更新大多走主键ID或其他索引,慢查询出现了吗?你遇到了因为数据量大导致的问题没有?分表后有其他问题需要解决,从实际出发考虑问题 2、php有瓶颈没有,另外数据库是单机的