问题标签 [qos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - CloudSim:需要在特定模拟时间在虚拟机中引入性能下降的方法
在 Cloudsim 中,我需要在模拟的特定时间引入 SLA 违规,例如从 600 到 1200 以及从 2400 到 4000(只是一个示例)。这种 SLA 违规需要显示 600-1200 和 2400-4000 模拟时间的 mips 不足,以便 vm 在这些时间间隔内分配的 mips 少于“请求的 mips”。我看过 Cloudsim 的 VmSchedulerTimeSharedOverSubscription.java 示例,它在随机或预定数据集之后部署大量虚拟机。这个例子对我没有帮助。
任何人都可以给出任何想法,以仅在某些时间间隔而不是 Cloudsim 中的整个模拟生命周期内引入这种 QoS 不足吗?或简单地说“有没有办法通过在 Cloudsim 中的特定模拟时间分配比请求的 mips 更少的 mips 来引入 VM 的性能下降?”
networking - 服务质量:处理抖动的远程登录要求
我目前正在为即将到来的计算机网络考试而学习,并且正在学习“服务质量”部分。此处显示了一个表格,显示了应用程序在带宽、延迟、抖动和损耗方面的要求。
用一个简单的例子来澄清:
除了书中提供的示例之外,我了解所有其他示例:远程登录。
我不清楚为什么抖动是实现远程登录系统时要考虑的“中等要求”。据我了解:抖动是信号时基的不规则性,(当应用于网络时)会导致传输数据包时出现可变延迟。我可以理解这在围绕电话、视频会议等应用程序中的重要性,但我无法理解它在远程登录系统中的重要性。
任何想法/帮助(总是)非常感谢!提前致谢!
mysql - MYSQL限制CPU资源
几天前,一个客户打电话给我,因为他们的服务器(30 个并发用户)每周都挂起。经过研究,我发现一份报告在近 7 分钟内大量使用了服务器磁盘。
...尽管事实上程序员会更改报告...
我想知道是否存在诸如 MYSQL 的 QoS(作为路由器)之类的东西?有什么方法可以限制正在使用的磁盘(或 CPU 或其他东西)的百分比?
mqtt - MQTT QoS 降级
我在嵌入式应用程序中使用 MQTT。我已经广泛阅读了文档,并且了解 QoS 功能是如何在 MQTT 中实现的,以及每个值的含义。
众所周知,MQTT 会进行 QoS 降级,这意味着消息将在发送方和接收方之间以最低 QoS 值传递。这是可以理解的,并且对于发送和接收之间的大多数 QoS 组合来说,这是有道理的。
但是,我对特定情况有疑问。当客户端订阅了 QoS 2 时,如果使用 QoS 1 发布消息会发生什么?
消息将至少一次传递给代理,这意味着它可能被传递多次。另一方面,订阅客户端期望它保证只接收一次消息,但事实并非如此。
如何克服这一严重问题?本质上我不能信任 QoS 2 设置。
(注意,通常这不会成为问题,因为我可以使用 QoS 2 发布消息。但是,当发布客户端超出您的控制范围时,这会成为问题,并且无法保证它们将使用哪种 QoS。)
networking - 是什么阻止我将所有流量标记为最高优先级?
我试图了解 ip 标头中 DSCP 字段的使用。如果我希望我的网站是最快的,为什么我不能将我的数据包标记为最高优先级?我知道可以使用带宽的高优先级流量的百分比有限。但是我的网站仍然会比其他将优先级标记为 0 的网站更快。路由器何时会使用整形来降低优先级,如果远程路由器可以完全忽略它,使用 DSCP 到底有什么意义?
tcp - MQTT QoS 的用途/目的是什么?
我正在研究 MQTT 协议,但规范的第一行似乎存在矛盾:
该协议通过 TCP/IP 或其他提供有序、无损、双向连接的网络协议运行。其特点包括:
[...]
消息传递的三种服务质量:
- “最多一次”,根据操作环境的最大努力传递消息。 可能会发生消息丢失。例如,此级别可用于环境传感器数据,其中单个读数是否丢失并不重要,因为下一个读数将很快发布。·
- “至少一次”,确保消息到达但可能发生重复。·
- “Exactly once”,保证消息只到达一次。例如,此级别可用于重复或丢失消息可能导致应用不正确费用的计费系统。
如果 MQTT 只能在无损的网络协议上运行,那么提供有损级别的 QoS(级别 0)意味着什么?
我相信它甚至不可能提供,因为 TCP 协议将负责重新传输丢失的消息。这对于旨在在非 TCP、不可靠网络上运行的 MQTT-SN 来说是有意义的。
(备注:使用 TCP 协议时,级别 1“至少一次”没有意义,因为 TCP 已经包含此保证,但在更一般的情况下可能有意义,因为规范说可以使用其他无损协议)
c++ - UDP sendmsg IP_TOS,在 Linux atomic 上设置 QoS 类?(锁定/信号错误)
场景:两个线程在同一个套接字上发送 UDP,线程 1 想要设置与线程 2 不同的 diffserv/QoS 类。我们之前通过将 sendto() 调用包装在互斥体中并执行相应 QoS 类的 setsockopt() 解决了这个问题在 sendto() 之前和之后(然后解锁互斥锁)。
使用此解决方案在极少数情况下(由于与信号的交互)我们遇到了死锁/挂起,我的问题是 - 如果我们在 sendmsg() 调用中将所需的 QoS 类作为辅助数据发送,我们是否可以完全删除互斥锁? 澄清一下,sendmsg() 是原子的,因此数据报将使用正确的 QoS 类发送,而不会有来自线程 1 和 2 的 sendmsg() 调用相互干扰的风险?
我在 SO 上发现了类似的问题,所以我知道一个套接字上一个 UDP 数据报的正常 sendmsg() 是“原子的”,但问题是整个调用,包括临时更改套接字的 QoS 位,是否是原子的,如用户空间线程?
Linux内核中的相关补丁是这样的:
queue - ovs-ofctl queue-stats 命令不起作用,我找不到 ovs-vswitchd.log 文件
现在我正在使用 ovs 2.4.0,我在 Qos 中创建了队列并将其粘贴到端口。
我可以使用命令查看队列列表ovs-vsctl list queue
,也可以查看ovsdb-tool show-log
命令的结果。(所有队列都已生成。)
我检查了ovsdb-client dump
结果,我可以看到 port-qos-queue 卡得很好。
但我无法通过ovs-ofctl queue-stats (bridge) (port)
命令查看队列信息,它只是返回端口上没有队列。
我搜索了所有结果,但找不到解决问题的方法。
ovs-vswitchd.log 文件不在此处。(我通过搜索文件find / -name *.log
)我不知道生成日志文件的命令是什么。
有人可以帮忙吗?
python-2.7 - 从 .pcap 文件中提取 QoS 控制值
我需要实现 .pcap 解析器来分析 QoS 值。
问题是打开 .pcap 文件(由 Wireshark 或 tcpdump 生成)并从每个包中提取 QoS 控制值(如果可用)。
我知道QoS 控制位于IEEE 802.11 QoS 数据层内(可通过 Wireshark 获得),但我不知道如何从我的脚本中提取此参数。
我尝试使用:
1. Python + dpkt
2. C# + Sharppcap
我已经从 IP 和 TCP 层获得数据,但没有任何关于 QoS 的数据。
可能,我需要探索原始 .pcap 并在没有任何解析器的情况下查找 QoS 数据,但也许它可以通过其他方式获得?