例如,我有 3 台计算服务器,我想在每台服务器上都有 1 个特定实例,并且我想在它们上拥有节点关联性。
- instance_1 --> compute_node_1(总是在这个节点上)
- instance_2 --> compute_node_2(总是在这个节点上)
- instance_3 --> compute_node_3(总是在这个节点上)
我知道有一个“森林”服务。但是具体如何使用呢?或者如果有其他解决方案?
例如,我有 3 台计算服务器,我想在每台服务器上都有 1 个特定实例,并且我想在它们上拥有节点关联性。
我知道有一个“森林”服务。但是具体如何使用呢?或者如果有其他解决方案?
我在服务器上有一个单线程进程,我想静态绑定到一个 CPU 内核并始终为其提供所有可用的计算能力(它是受资源不足严重影响的实时进程)。不幸的是,机器严重超载,因此 CPU 平均占用 60% 或更多 CPU,并且进程通常会窒息。我已经分配了实时循环优先级 99,但它仍然远非完美。
如何在启动时将所有其他进程分配给剩余的 7 个 CPU 核心,并让一个核心专用于这一进程?我说的是所有新生成的进程从一开始就已经绑定到 7 个内核的情况。
好的,这是一个非常奇怪的问题,我什至不知道如何正确描述它。我们有一位客户抱怨我们网站上的特定页面无法正常工作,我们的一位内部技术人员也能够重现该问题。大部分网站运行良好。这部署在 Azure 应用服务上。
我检查了与技术人员运行完全相同的页面,它对我来说工作得很好。整个请求是相同的,除了身份验证 cookie。当我运行请求时,我得到 200 OK,但技术人员和客户得到 404 NOT FOUND。
这个问题是在我们今天早上在 Azure 应用服务(我是新手)上进行 VIP 交换之后才开始的。我今天早上将服务更新部署到了 Staging Deployment Swap,然后几分钟后进行了 VIP Swap。我认为客户和技术人员在 VIP 交换期间都打开了浏览器并且会话处于活动状态。
我做了一些故障排除,这就是我发现的。我可以使用 Fiddler 来捕获适合我的网页的确切跟踪。然后我只能从得到 404 错误的技术人员的请求中复制一个值,突然我也可以重现 404 错误。不同的是一个cookie:
Cookie: ARRAffinity=blahblahblahblah;
我的基本理解是,这是识别用户连接到哪个服务器的关键,因此他们可以与负载平衡集中的特定实例(2 个服务器)建立关联。我们可以通过让技术人员和客户删除浏览器中的所有 cookie 来解决问题,但即使注销并重新登录也无法解决问题。
为什么“陈旧”的关联密钥会在一个特定页面上导致随机 404?是否有可能某些用户的请求实际上被定向到旧的登台部署站点,即使他们正在访问连接到生产部署站点的 url?
我一直在玩 cset 来为正在运行的进程设置 cpu 亲和力。我正在使用 set 和 proc 手动重新创建内置的“屏蔽”函数,以便为我的应用程序的特定线程添加一些子集。我有一个 bash 脚本调用 cset 来创建集合,并将正确的线程移动到正确的集合。它在使用 sudo 运行时有效。
现在我想让另一个没有 sudo 权限的用户可以执行这个脚本。我足够信任这个用户,可以对 cset 负责,但不想开放 root 的广泛权力。
我认为 CAP_SYS_NICE —— sched_setaffinity 所需要的,我只是假设 cset 必须使用 —— 在脚本上就足够了,但这没有用。我尝试将 CAP_SYS_NICE 扩展到 cset 程序(这是 cset python 库的一个瘦 python 包装器)。没有骰子。cap_to_text 在我的 CAP_SYS_NICE 脚本上的输出是“=cap_ipc_lock,cap_sys_nice,cap_sys_resource+eip”(由于其他原因它有 ipc_lock 和 sys_resource;我认为只有 sys_nice 是相关的)。
有任何想法吗?
我使用分布式用户空间文件系统 (GlusterFS),我想确保 GlusterFS 进程始终拥有所需的计算能力。
我的网格的每个执行节点都有 2 个 CPU,每个 CPU 有 4 个内核,每个内核有 2 个线程(Linux 可以看到 16 个“处理器”)。
我的目标是保证 GlusterFS 进程有足够的处理能力来保证可靠、响应迅速和快速。(这里没有营销,只是系统管理员的梦想;-)
我考虑两个要点:
我想过在特定的“处理器”上绑定 GlusterFS 实例。
我想确定:
但是 I/O 呢?当我们处理大量数据(几 TB)时,我们会遇到很多中断。
如何在我的处理器上分配这些操作?什么是“最佳实践”?
感谢您的意见!