diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx
index 8386b53e470498ee3beb97af11be1a468ccaf94c..4637cb4bcc04de84966ce44b99be73cbe8aa89e5 100644
--- a/src/components/proxy/proxy-groups.tsx
+++ b/src/components/proxy/proxy-groups.tsx
@@ -9,10 +9,10 @@ import {
 } from "@/services/api";
 import { useProfiles } from "@/hooks/use-profiles";
 import { useVerge } from "@/hooks/use-verge";
+import { BaseEmpty } from "../base";
 import { useRenderList } from "./use-render-list";
 import { ProxyRender } from "./proxy-render";
 import delayManager from "@/services/delay";
-import { BaseEmpty } from "../base";
 
 interface Props {
   mode: string;
@@ -83,7 +83,7 @@ export const ProxyGroups = (props: Props) => {
     }
 
     const names = proxies.filter((p) => !p!.provider).map((p) => p!.name);
-    await delayManager.checkListDelay(names, groupName, 24);
+    await delayManager.checkListDelay(names, groupName);
 
     onProxies();
   });
diff --git a/src/services/delay.ts b/src/services/delay.ts
index bc45fe20d9a21b277ef604e09b226621dd0679b7..4739d1b46d06d33f0fc6978c62cfaff734571b5b 100644
--- a/src/services/delay.ts
+++ b/src/services/delay.ts
@@ -84,35 +84,26 @@ class DelayManager {
     return delay;
   }
 
-  async checkListDelay(
-    nameList: readonly string[],
-    groupName: string,
-    concurrency: number
-  ) {
-    const names = [...nameList];
+  async checkListDelay(nameList: string[], group: string, concurrency = 6) {
+    const names = nameList.filter(Boolean);
+    // 设置正在延迟测试中
+    names.forEach((name) => this.setDelay(name, group, -2));
 
     let total = names.length;
     let current = 0;
 
-    // 设置正在延迟测试中
-    names.forEach((name) => this.setDelay(name, groupName, -2));
-
     return new Promise((resolve) => {
       const help = async (): Promise<void> => {
         if (current >= concurrency) return;
-
         const task = names.shift();
         if (!task) return;
-
         current += 1;
-        await this.checkDelay(task, groupName);
+        await this.checkDelay(task, group);
         current -= 1;
         total -= 1;
-
         if (total <= 0) resolve(null);
         else return help();
       };
-
       for (let i = 0; i < concurrency; ++i) help();
     });
   }