文章
· 九月 12, 2022 阅读大约需 3 分钟

第三十章 管理许可(三)

第三十章 管理许可(三)

确定许可证容量和使用情况

如何知道已使用了多少许可证以及由谁使用?类中的 %SYSTEM.License 提供了到 IRIS 许可证应用程序编程接口 (API) 的接口,并提供了许多方法和相关查询,可以使用这些方法和相关查询来查询许可证容量和当前使用情况。

可以使用 %Library.%ResultSet 类的 RunQuery 方法运行多个许可查询。例如:

USER>do ##class(%ResultSet).RunQuery("%SYSTEM.License","Summary")

LicenseUnitUse:Local:Distributed:
当前使用的软件许可单元 :2:2:
使用的最大软件许可单元数 :3:2:
授权的软件许可单元 :25:25:
当前连接 :2:2:
最大连接数 :6:6:

可以从管理门户的许可证使用页面(系统操作 > 许可证使用)查看这些查询的输出,详细信息如下表所示:

许可证使用页面上的链接 License Query
Summary Summary() — 返回许可证使用摘要,如 $System.License.ShowSummary 所示。
Usage by Process ProcessList() — 返回操作系统进程标识符 (PID) 使用的许可证,如 $System.License.DumpLocalPID 所示。
Usage by User UserList() —按用户 ID 返回许可证使用。
Distributed License Usage AllKeyConnectionList() — 返回按用户排序的当前分布式许可证使用情况。 (当没有连接许可服务器时禁用此功能。)

还可以使用 %SYSTEM.License 中的以下类方法来显示信息,或将许可证数据库转储到文件中:

$System.License.CKEY 显示密钥。该子例程由 ^CKEY 程序调用,该程序为保持兼容性而保留:

USER>Do $System.License.CKEY()

InterSystems IRIS Key display:
Based on the active key file 'c:\intersystems\irishealth\mgr\iris.key'

     LicenseCapacity =   InterSystems IRIS 2021.2 Enterprise - Concurrent Users for x86-64 (Microsoft Windows):25, Natural Language Processing (NLP), En
     CustomerName =      ISC DC Moderators - Xin Yao
     OrderNumber =       202224285
     ExpirationDate =    7/15/2023
     AuthorizationKey =  4125500002500002500000XXXXXXXXXXXXXXXXX01
     MachineID =

     当前可用 =     23
     最小可用 =     22
     最大可用 =     25

$System.License.ShowCounts 总结了在本地系统共享内存中跟踪的许可证使用情况:

USER> Do $System.License.ShowCounts()

本地软件许可使用视图.

     25     授权的总数量 LU
     23     当前可用 LU
     22     最小可用 LU
      2     当前用户处于活动状态
      3     处于活动状态的最大用户数
      1     当前 CSP 用户处于活动状态
      1     处于活动状态的最大 CSP 用户数
      0     当前 CSP 会话处于宽限期
      0     处于宽限期的最大 CSP 会话数

.License.ShowServer 显示活动的许可证服务器地址和端口:

USER> Do $System.License.ShowServer()

活动软件许可服务器地址 = 127.0.0.1 端口 = 4002

如果开发了基于 REST 的应用程序,许可证将随着使用而消耗。为防止这种情况发生,请配置可以建立的 Web Gateway 连接数。从 Web Gateway 管理部分的管理门户:

  1. 导航到服务器访问。
  2. 选择无状态参数。
  3. 将最大值设置为比许可证小 23 的数字,以允许服务器端登录。

注意:根据应用程序的服务器端需求,需要对此进行调整。

通过在所有可用连接都忙时执行此操作,新请求将排队而不是被拒绝。由于超出许可计数,不会看到拒绝。随着数量的增长,客户端的响应时间会减慢。这表明需要购买更多许可证。

讨论 (1)1
登录或注册以继续