以下代码使用 JavaScript 测试多个服务器节点的响应速度,并选择响应时间最短的服务器作为最佳访问节点。

const servers = [
  'https://server1.example.com',
  'https://server2.example.com',
  'https://server3.example.com'
];

const results = [];

for (let i = 0; i < servers.length; i++) {
  const startTime = Date.now();
  fetch(servers[i])
    .then(response => {
      const endTime = Date.now();
      const elapsed = endTime - startTime;
      results.push({ server: servers[i], time: elapsed });
      if (results.length === servers.length) {
        const fastest = results.reduce((prev, current) => prev.time < current.time ? prev : current);
        console.log(`Fastest server: ${fastest.server}, time: ${fastest.time}ms`);
      }
    })
    .catch(error => {
      console.error(`Error connecting to server ${servers[i]}`, error);
      results.push({ server: servers[i], time: Infinity });
      if (results.length === servers.length) {
        const fastest = results.reduce((prev, current) => prev.time < current.time ? prev : current);
        console.log(`Fastest server: ${fastest.server}, time: ${fastest.time}ms`);
      }
    });
}

这段代码使用了 fetch 函数来测试每个服务器的响应时间,并将结果存储在一个数组中。当所有服务器都测试完毕时,它会找到响应时间最短的服务器,并输出其地址和响应时间。如果在测试任何一个服务器时出现了错误,它会将该服务器的响应时间设置为正无穷,并将错误信息打印到控制台。

JavaScript 代码测试网站多服务器节点速度并选择最优

原文地址: https://www.cveoy.top/t/topic/mB6e 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录