<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>资源管理 :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/index.html</link>
    <description></description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Fri, 15 Aug 2025 16:50:44 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>动态worker</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/adjust_work/index.html</link>
      <pubDate>Fri, 15 Aug 2025 16:50:28 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/adjust_work/index.html</guid>
      <description>1.功能描述 Njet 静态配置文件中，worker_processes 这个配置项用于设置worker进程的数目, 设置为auto 将根据系统的CPU 核数自动创建worker 进程。&#xA;静态配置只有在NJet首次启动时有效，之后将只能通过动态API进行调整。NJet 首次启动后，将在 data 目录下生成一些数据文件，除非停止NJet后删除该目录下的数据文件，才能恢复初始状态，并且在启动后再次使用静态配置的worker数目进行初始化。建议直接使用动态API进行worker数目调整。&#xA;通过KV API调整key: “__master_worker_count&#34;的值值 设置后，master 进程将根据对应的值进行worker 数目的调整，配置的值需要在这个区间：（0，512], 其它的值，worker数目将不做调整。&#xA;2. 依赖模块 无&#xA;3.指令说明 动态worker调整配置无特殊的指令。&#xA;4.配置样例 helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; cluster_name helper; node_name node1; worker_processes 1; error_log logs/error.log info; pid logs/njet.pid; events { worker_connections 1024; } http { dyn_kv_conf conf/iot-work.conf; include mime.types; upstream test{ zone customer 64k; server 192.168.40.249:8090; } server { server_name testName; listen 7777; location / { proxy_pass http://test; } } } 5.API 5.1 API 调用 动态调整worker 数量</description>
    </item>
    <item>
      <title>动态共享内存</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/adjust_memeory/index.html</link>
      <pubDate>Fri, 15 Aug 2025 16:50:44 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/resource_management/adjust_memeory/index.html</guid>
      <description>1. 功能说明 动态共享内存是在原有的共享内存基础上，系统预留了一块（多块）内存供系统中所有的zone共享，当有zone预先指定的内存已经用光的时候，可以再向系统申请一个slab_pool, 加到原来zone的slab_pool的队列尾部。&#xA;增加的指令 shared_slab_pool_size, 可以指定预留的共享内存的大小。&#xA;NJET中的所有zone，包含静态配置的zone和动态配置的zone，都会有一个auto_scale属性，默认为0,不扩展，可以通过API的方式设置为1，自动扩展，当zone空间用光时，会从预留的空间中申请当前zone相同大小的空间使用。&#xA;2. 依赖模块 动态共享内存功能依赖模块：&#xA;load_module modules/njt_http_shm_status_module.so; load_module modules/njt_http_shm_api_module.so; 3 指令说明 3.1 shared_slab_pool_size Syntax: shared_slab_pool_size; Default: 0 Context: core 启动时&#xA;如果 shared_slab_pool_size 未配置或为0，不分配相应的内存 如果 shared_slab_pool_size &lt; 10M，改为10M，分配相应的内存 如果 shared_slab_pool_size &gt; 10M，按照实际分配相应的内存 3.2 max_dyn_zone_count Syntax: max_dyn_zone_count; Default: 4096 Context: core 限制可添加的动态zone的总数，默认总数为4096。&#xA;4. 配置说明 njet.conf&#xA;helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; helper access_data modules/njt_helper_access_data_module.so conf/goaccess.conf; load_module modules/njt_agent_dynlog_module.so; load_module modules/njt_http_location_module.so; load_module modules/njt_dyn_ssl_module.so; load_module modules/njt_http_dyn_server_module.so; load_module modules/njt_http_access_log_zone_module.so; load_module modules/njt_http_dyn_upstream_module.so; load_module modules/njt_http_dyn_map_module.so; user root root; worker_processes 2; cluster_name helper; node_name node1; shared_slab_pool_size 100m; shm_status on; max_dyn_zone_count 2; error_log logs/error.log info; pid logs/njet.pid; events { worker_connections 1024; } http { upstream backend1 { zone backend1 256k; server 192.168.40.150:5678; } dyn_kv_conf conf/iot-work.conf; include mime.types; access_log logs/access.log; variables_hash_max_size 2048; sendfile on; keepalive_timeout 65; access_log_write_zone on; access_log_zone abc 10m; access_log_zone_valid 3; server { listen 5555; server_name localhost; location / { proxy_pass http://backend1; } } } ctrl.conf</description>
    </item>
  </channel>
</rss>