主要内容

本页采用了机器翻译。点击此处可查看英文原文。

服务器概述

什么是服务器实例?

服务器实例被视为 MATLAB® Production Server™ 产品的一个唯一配置。每个配置都有自己的服务器配置文件(main_config)和诊断文件(logpidendpoint 文件)。

此外,每个服务器都有自己的 auto_deploy 文件夹,您可以在其中上传希望服务器为客户端托管的可部署存档(CTF 文件)。

您可以使用 MATLAB Production Server 软件创建任意数量的服务器实例。每个服务器实例可以托管任意数量的包含 MATLAB 代码的可部署存档。您可能会发现为与特定应用程序相关的所有存档创建一个服务器很有帮助。您还可以创建一台服务器来托管严格用于测试的代码,等等。

该服务器还管理 MATLAB Runtime (MATLAB Compiler),这使得已部署的 MATLAB 代码能够执行。main_config 中的设置决定了每个服务器如何与 MATLAB Runtime 交互以处理客户端的请求。您可以根据您的性能要求和 IT 环境中的其他变量设置这些参数。

服务器如何管理工作?

服务器使用以下步骤处理事务:

  1. 客户端向主服务器进程发送 MATLAB 函数调用。

  2. 主服务器进程将 MATLAB 函数调用传递给一个或多个 MATLAB Runtime 工作进程

  3. MATLAB Runtime 工作进程执行部署到服务器的 MATLAB 函数。

  4. MATLAB Runtime 工作进程将 MATLAB 函数执行的结果传回主服务器进程。

  5. 主服务器进程将 MATLAB 函数执行的结果传回给客户端进行处理。

服务器是 MATLAB Production Server 环境中的中介。它同时接受来自客户端的连接,然后调度 MATLAB Runtime 工作进程- MATLAB 会话 - 来处理对 MATLAB Runtime 的客户端请求。通过定义和调整服务器可用的工作进程和线程数量,您可以分别调整容量和吞吐量。

  • 工作进程(容量管理)(num-workers) - 服务器可用的 MATLAB Runtime 工作进程的数量。

    每个工作进程向 MATLAB Runtime 调度一个 MATLAB 执行请求,每次与一个客户端交互。通过定义和调整服务器可用的工作进程数量,您可以设置可同时处理的并发 MATLAB 执行请求的数量。num-workers 应该大致对应于本地主机上可用的核心数量。

  • 线程(吞吐量管理)(num-threads) - 主服务器进程可用的线程数(处理单位)。

    MATLAB Production Server 从客户端到服务器的数据流

    MATLAB Production Server data flow from client to server and back.

    服务器不会为每个客户端连接分配唯一的线程。相反,当数据在连接上可用时,所需的处理将在线程上安排。--num-threads 设置主服务器进程中该池的大小(可用的请求处理线程数)。池中的线程不会直接执行 MATLAB 代码。相反,每个 MATLAB Runtime 工作进程进程中都有一个线程代表客户端执行 MATLAB 代码。

另请参阅

主题