增加更多匹配的域名信息
This commit is contained in:
79
.trae/documents/修改gfwList配置从内容到文件路径.md
Normal file
79
.trae/documents/修改gfwList配置从内容到文件路径.md
Normal file
@@ -0,0 +1,79 @@
|
||||
## DNS服务器性能优化方案
|
||||
|
||||
### 问题分析
|
||||
|
||||
1. **并行查询模式**:当前配置使用`parallel`模式,会等待所有上游服务器响应后才返回,受最慢服务器影响
|
||||
2. **DNSSEC验证开销**:启用了DNSSEC验证,增加了额外的计算和网络请求
|
||||
3. **过多上游服务器**:DNSSEC上游服务器多达5个,响应时间差异大
|
||||
4. **调试级别日志**:`debug`级别日志记录大量信息,占用CPU和I/O资源
|
||||
5. **缓存TTL过短**:10秒的缓存TTL导致频繁向上游请求
|
||||
6. **黑名单规则过多**:14个启用的黑名单,每次请求都需要检查
|
||||
|
||||
### 优化方案
|
||||
|
||||
#### 1. 修改查询模式为快速返回
|
||||
|
||||
* 将`queryMode`从`parallel`改为`fastest-ip`或优化默认模式
|
||||
|
||||
* 快速返回模式会返回第一个有效响应,而不是等待所有响应
|
||||
|
||||
#### 2. 优化DNSSEC配置
|
||||
|
||||
* 减少DNSSEC上游服务器数量,只保留2-3个可靠的
|
||||
|
||||
* 对国内域名禁用DNSSEC验证(已配置部分,可扩展)
|
||||
|
||||
#### 3. 调整缓存策略
|
||||
|
||||
* 增加`cacheTTL`到60秒或更高,减少上游请求频率
|
||||
|
||||
* 优化缓存实现,减少锁竞争
|
||||
|
||||
#### 4. 降低日志级别
|
||||
|
||||
* 将日志级别从`debug`改为`info`或`warn`,减少日志写入开销
|
||||
|
||||
#### 5. 优化黑名单处理
|
||||
|
||||
* 合并重复的黑名单规则
|
||||
|
||||
* 考虑使用更高效的域名匹配算法
|
||||
|
||||
#### 6. 代码优化
|
||||
|
||||
* 减少DNSSEC验证的重复调用
|
||||
|
||||
* 优化响应合并逻辑,避免不必要的计算
|
||||
|
||||
* 调整超时设置,避免过长等待
|
||||
|
||||
### 具体修改点
|
||||
|
||||
1. **config.json**:
|
||||
|
||||
* 修改`queryMode`为`fastest-ip`
|
||||
|
||||
* 减少`dnssecUpstreamDNS`数量
|
||||
|
||||
* 增加`cacheTTL`到60
|
||||
|
||||
* 将日志级别改为`info`
|
||||
|
||||
2. **dns/server.go**:
|
||||
|
||||
* 优化`forwardDNSRequestWithCache`函数,减少DNSSEC重复验证
|
||||
|
||||
* 优化响应合并逻辑,避免不必要的计算
|
||||
|
||||
* 调整并行模式的超时处理
|
||||
|
||||
### 预期效果
|
||||
|
||||
* 减少响应时间,从当前的秒级降低到毫秒级
|
||||
|
||||
* 减少CPU和I/O资源占用
|
||||
|
||||
* 提高并发处理能力
|
||||
|
||||
* 保持DNS解析的准确性和可靠性
|
||||
|
||||
Reference in New Issue
Block a user