Why Speed Testing
Choosing the right proxy node is crucial for network experience. Different nodes have varying latency, bandwidth, and stability, which directly affect:
- Page Load Speed: Low-latency nodes load web pages faster
- Video Streaming: High-bandwidth nodes are suitable for HD video
- Gaming Experience: Stable low-latency nodes reduce lag
- Download Speed: Quality routes fully utilize your bandwidth
Regular speed testing is recommended as node performance changes with time and network conditions. ClashX can be configured for automatic speed testing to ensure you always use the optimal node.
Understanding latency Metrics
Speed testing mainly focuses on the following metrics:
latency (latency / Ping)
The time required for data to travel from your device to the proxy server and back, measured in milliseconds (ms).
Packet Loss
The percentage of data packets that fail to reach their destination. Packet loss above 1% affects user experience, especially for real-time applications (gaming, video calls).
Bandwidth
The maximum data transfer rate a node can provide. Note: ClashX's latency test doesn't measure bandwidth; it needs to be evaluated through actual use or dedicated speed test tools.
Speed test results are only for reference. Actual experience is also affected by server load, routing optimization, target website location, and other factors.
Manual Testing Methods
Method 1: ClashX Built-in Speed Test
The simplest and most direct speed testing method:
- Click the ClashX icon in the menu bar
- Select "Proxy" menu
- Click "latency Test" (Benchmark)
- Wait a few seconds, latency values will appear next to all nodes
Speed Test Shortcut
You can set a shortcut for latency testing:
1. Open "System Preferences" → "Keyboard" → "Shortcuts" → "App Shortcuts"
2. Add ClashX, enter menu title "Benchmark"
3. Set your preferred shortcut, such as ⌘⇧T
Method 2: Policy Group Speed Test
If you use policy groups (such as url-test), you can test a specific policy group separately:
- Click the ClashX icon in the menu bar
- Select the corresponding policy group
- Right-click the policy group name
- Select "Test latency"
Method 3: Dashboard Speed Test
Use the web control panel for more detailed speed testing:
- Visit
http://127.0.0.1:9090/ui - Click the "Proxies" tab
- Select the policy group or node to test
- Click the speed test button (lightning icon)
The advantage of Dashboard is viewing more detailed information, including speed test history.
Automatic Testing Configuration
Manual speed testing is simple but requires frequent operation. A better approach is to configure automatic speed test policy groups.
url-test Auto-Select
Automatically selects the node with the lowest latency:
proxy-groups:
- name: "♻️ Auto Select"
type: url-test
proxies:
- "Hong Kong 01"
- "Hong Kong 02"
- "Japan 01"
- "US 01"
url: "http://www.gstatic.com/generate_204"
interval: 300 # test every 300 seconds
tolerance: 50 # no switch if latency diff < 50ms
Key Parameter Description
- url: Speed test target URL. Recommended to use
http://www.gstatic.com/generate_204, a lightweight and fast speed test address - interval: Testing interval (seconds). Recommended 300-600 seconds, too frequent wastes resources
- tolerance: Tolerance value (milliseconds). New node must be faster than current node by more than this value to switch, avoiding frequent jumping
fallback Failover
Automatically switches when the main node fails:
proxy-groups:
- name: "🔰 Failover"
type: fallback
proxies:
- "primary node"
- "backup node 1"
- "backup node 2"
url: "http://www.gstatic.com/generate_204"
interval: 300
timeout: 2000 # timeout 2000ms
load-balance Load Balancing
Distributes traffic among multiple healthy nodes:
proxy-groups:
- name: "⚖️ Load Balance"
type: load-balance
proxies:
- "Node 1"
- "Node 2"
- "Node 3"
url: "http://www.gstatic.com/generate_204"
interval: 300
strategy: consistent-hashing # or round-robin
strategy parameter:
consistent-hashing: Allocates based on destination address, same website always uses same node, suitable for session-preserving scenariosround-robin: Round-robin allocation, each request uses different node, suitable for downloading scenarios
You can create a url-test auto-select group, then include it in a select manual selection group. This provides both automatic optimization and manual control flexibility.
Node Selection Strategies
Select by Purpose
Different usage scenarios require different types of nodes:
| Usage Scenario | Recommended Features | Node Type |
|---|---|---|
| Web Browsing | Low latency | Nearby nodes (Hong Kong, Japan, Singapore) |
| Video Streaming | High Bandwidth, Stable | Content location node (e.g., US node for Netflix US content) |
| Gaming Acceleration | Ultra-low latency, Low Packet Loss | Quality routes to game server location |
| Large File Downloads | High Bandwidth | Load balancing group or high-speed dedicated line |
| Daily Work | Stability | fallback failover group |
Select by Geographic Location
Geographic location has a significant impact on latency:
- China Mainland Users: Hong Kong, Taiwan, Japan, Singapore nodes typically have lowest latency (20-80ms)
- European Users: Local European nodes are best
- Cross-border Access: When accessing services in specific countries, selecting nodes in that country usually works best
Route Quality Identification
Common route types (descending quality):
- IPLC / IEPL Dedicated Line: Point-to-point dedicated line, low latency, high stability, expensive
- CN2 GIA: Premium telecom route, low latency, stable during peak hours
- CN2 GT: Standard telecom route, good value
- BGP Multi-line: Automatically selects carrier routing
- Regular Route: Cheap but may be congested during peak hours
• Don't just look at latency, also pay attention to stability and actual speed
• Daytime test results may differ from evening peak hours
• Don't put all traffic on one node
Performance Optimization Tips
1. Multiple Node Backup
Configure fallback policy group to ensure automatic switching when main node fails:
proxy-groups:
- name: "🚀 Primary Nodes"
type: fallback
proxies:
- "Hong Kong IPLC 01"
- "Hong Kong CN2 01"
- "Japan 01"
url: "http://www.gstatic.com/generate_204"
interval: 300
2. Traffic Splitting Strategy
Configure different node groups for different services:
proxy-groups:
- name: "🎬 Streaming"
type: select
proxies:
- "US Node Group"
- "Hong Kong Node Group"
- name: "🎮 Gaming"
type: url-test
proxies:
- "Low-latency Node 1"
- "Low-latency Node 2"
interval: 60 # more frequent tests for gaming
- name: "📥 Download"
type: load-balance
proxies:
- "High-bandwidth Node 1"
- "High-bandwidth Node 2"
3. Speed Test URL Selection
Different speed test URLs may give different results:
http://www.gstatic.com/generate_204- Google service, globally applicablehttps://cp.cloudflare.com/generate_204- Cloudflare, suitable for CDN testinghttp://www.apple.com/library/test/success.html- Apple, suitable for iOS users
4. Regular Maintenance
Develop good maintenance habits:
- Manually test speed once a week to understand node status
- Delete long-term failed nodes promptly
- Follow service provider notifications for maintenance and upgrade information
- Testing during peak hours (8-11 PM) better reflects actual conditions
5. Use Dashboard Monitoring
Web Dashboard provides real-time monitoring and history:
- View currently used nodes
- View traffic and latency for each connection
- Analyze which apps use the most traffic
- Discover abnormal traffic and connections
Node Selection Summary
Best Practices:
- Use url-test to auto-select nodes for daily browsing
- Use fallback to ensure critical service stability
- Configure dedicated policy groups for special purposes (streaming, gaming)
- Regularly manually test speed to understand true node conditions
- Don't over-rely on automatic speed testing, adjust based on actual experience