我正在研究一个查询三个不同服务器的程序,以获取CPU和LogicalDisk信息.
我查询的每个服务器都会在6到15秒内返回值(取决于服务器).所以我需要总共31秒才能获得所有值(第一台服务器为15秒,第二台服务器为6秒,第三台服务器为10秒).
我尝试多线程每个查询,它减少了每个服务器1秒的执行时间,所以我不认为这是解决方案.
我还尝试在服务器中直接使用powershell运行查询:
第一台服务器:需要10秒钟(而不是15秒)来检索信息
第二台服务器:它需要10秒钟(就像我远程操作时)来检索信息
第三台服务器)花了大约1秒钟(而不是6秒)
这是我的疑问:
SELECT LoadPercentage From WIN32_Processor
SELECT Size, FreeSpace From WIN32_LogicalDisk
Run Code Online (Sandbox Code Playgroud)
我的问题是:我的服务器上有什么可以使查询更容易吗?我已经尝试停用防火墙和防病毒软件.
PS:我正在查询Windows 2003 R2服务器,Win XP pro和Win 7服务器,每个服务器都与我的本地计算机位于同一个域中.
在我们的场景中,我们有一堆设备与网关进行本地通信。网关负责聚合来自设备的事件并将其发送到云端。它还应该从云端接收设备配置更改并将其传输到特定设备。
根据我的阅读,我认为这实际上是一个典型的 IoT 中心场景。我们非常希望使用 IoT Hub 提供的设备管理、消息传递甚至双胞胎。
但是,设备之间的通信方式已经实现,不得更改。这意味着设备本身无法创建连接并提供 IoT 中心凭据。这排除了使用azure-iot-protocol-gateway或类似的。
我们宁愿需要网关充当可以代表其他设备的设备。网关会检测哪些设备在他的本地网络中并订阅它们的主题(通过 MQTT 或 AMQP)。
这甚至可能吗?设备能否代替其他设备发送事件或收听 Cloud-To-Device 消息?
我有一个二头肌模板,可以创建多个容器应用程序。他们应在我的私有 DNS 区域中有一个自定义子域。但是,我遇到的问题是,这会导致循环依赖:要将 CName 和验证 TXT 记录添加到 DNS 区域,我需要容器应用程序的 FQDN 和验证。另一方面,容器应用程序的部署会验证这些记录是否存在,如果不存在则失败。
我当前使用的解决方法涉及一个布尔模板参数,该参数在第一次运行时必须为 false:
param register_custom_domains bool = false
resource container_app 'Microsoft.App/containerapps@2022-03-01' = {
// ...
properties: {
configuration: {
ingress: {
customDomains: register_custom_domains ? [
{
name: 'name'
certificateId: certifcate.id
bindingType: 'SniEnabled'
}
] : null
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这自然需要部署两次。有没有更好的办法?