异数OS 星星之火(一)-- 异数OS-织梦师云 用户使用手册

.

异数OS 星星之火(一)-- 异数OS-织梦师云 用户使用手册


##本文来自异数OS社区


github: https://github.com/yds086/HereticOS

异数OS社区QQ群: 652455784

异数OS-织梦师(消息中间件 ,游戏开发方向)群: 476260389

异数OS-织梦师-Xnign(Nginx方向)群: 859548384


界面简要介绍

VM管理器区

这里写图片描述
VM管理器区是界面登录后的首页,列出当前服务代理中提供的异数OS机器实例(未来容器用户者这里是可用的容器实例),选择一个在线主机,双击即可进入该主机的System-0 Container-0,标签页主机名,注意Container-0用于表示目标System空间的System空间权限,不如可以列举出当前System的所有在线容器信息。
###工作空间简介
这里写图片描述
工作空间属性页名称按照机器实例名+系统名+容器名构成,System-0 Container-0空间不带系统名+容器名。

基础命令简要介绍

出于安全可扩充的考虑,基本命令只提供系统和容器服务的基础操作,并不提供一个很大的工具命令连,如果需要提供丰富的命令,则需要写一些系统服务来扩充支持,比如 SystemCtl,命令有作用空间范围,分为系统空间命令,容器空间命令。
###系统空间命令
1.(StartSystem SystemID)
启动一个支持的系统,目前测试平台只开放提供三个系统实例,0是默认启动的,剩下可启动的系统是2,4,这两个系统在网络路由关系上属于网线直接互联模式,目标系统启动后会同时启动对应的Container-0。
实例:启动System 2,(StartSystem 2)

2.(Entry SystemID ContainerID)
启动好目标系统,就可以用该命令登录目标系统容器了。
实例:进入System 2,Container 0,(Entry 2 0)

容器空间命令

1.(StartService ServiceName Parameter)
输入服务名,启动参数,启动一个服务:
实例:启动Xnign服务, (StartService Xnign “”)
2.(ServiceInput ServiceIDorServiceName Command)
给运行的指定服务输入响应命令,服务通过运行时提供ServiceInput命令接口来动态响应用户输入的命令,如果是单例服务可以通过服务名来定向输入,如果是多实例服务则通过服务ID来定向输入。
实例: 使用SystemCtl服务查询当前系统的容器信息服务信息。
(list (ServiceInput SystemCtl “info=container ls=container”) (ServiceInput SystemCtl “info=service ls=service”))
3.(CloseService ServiceID)
关闭目标服务,例如(CloseService 1)

目前提供的基础服务简要介绍

Xnign

Xnigx是一个httpserver,带一个httpcache远程rpc服务,启动后监听本地IP的79 80端口,79用于httpcache rpc服务。

XnignTest

Xnigx的http压力测试工具

服务启动参数:

  1. -dip指定Xnign服务的ip地址,例如 -dip=192.170.0.11
  2. -c指定http client的压测线程数量。
  3. -sp 短连接压测模式,没有该参数则默认启动为长连接压测模式
  4. -ctl 表示启动后进入命令行控制模式,没有该参数则默认启动后自动进入循环压测模式,在默认无-ctl参数移动后,XnignTest启动后通过rpc先对目标httpcache初始化注入待测的目标页面内容,之后创建http client压力测试线程池,-ctl模式启动后,压测层数不进行httpcache初始化,而只创建1个http client压力测试线程,等到用户配置压测参数并启动。
  5. -qosid设置压测链接的qosid.
  6. -ps设置http cache初始化页面的尺寸,默认为400页面尺寸,目前最大设置1000.
  7. -libc 设置http cache初始化页面库数量。

命令行控制模式参数:

  1. -qosid设置压测链接的qosid.
  2. -echo 指定echocgi测试的输入字符串,如 -echo=1234
  3. -pr 指示压测过程中打印返回页面的数据。
  4. -sp 短连接压测模式
  5. -lp 长连接压测模式
  6. -pc 指定压测循环数量
  7. -start 开始压测
  8. -stop 结束压测

SystemCtl

系统信息查询工具,扩充shell系统命令工具链,提供目标系统容器空间的系统信息,容器信息,服务信息,tcp链接信息查询等服务。
命令参数介绍:
SystemCtl提供三个类型的命令关键字分别是info,dump,ls,用于标明需要查看的对象信息类型,info主要指目标对象的静态信息,比如系统提供的服务版权版本信息等。dump表示打印一些程序内部变量信息,比如tcp链接的状态信息,ls表示对象的动态实例信息。
具体如下:
info=container ls=container 打印活跃容器数量,活跃的目标容器IP资源。
info=service ls=service 打印当前系统容器提供的服务信息以及服务实例信息。

操作实战

这个实战实例,我们来分别创建两个System,每个System创建两个Container,分别跑Xnign,XnignTest,SystemCtl,来观察结果。

1.在登入目标机器后,启动系统2,系统4,并分别登录
(list (StartSystem 4) (Entry 4 0) (StartSystem 2) (Entry 2 0) )
2,在系统2的容器0空间启动物理容器1,并登录。
(list (StartPhyContainer 1) (Entry 2 1) )
3.在系统2容器1空间,启动Xnign服务。
(list (StartService Xnign “123”) )
4.在系统4容器0,创建容器1,并登录系统4容器1。
(list (StartPhyContainer 1) (Entry 4 1) )
5.启动Xnign压测服务XnignTest。
1.自动循环压测模式 (list (StartService XnignTest “-dip=192.170.0.11 -c=128 -qosid=1”))
2.命令行控制压测模式
(StartService XnignTest “-dip=192.170.0.11 -qosid=1 -ctl”)
(ServiceInput 2 “-pc=10 -lp -start”)

7.在任意系统空间观察tcp链接状态信息。
1.启动SystemCtl 服务 (StartService SystemCtl “”)
2.输入tcp信息查询命令 (ServiceInput SystemCtl “dump=tcp ls=tcp”)
8.在任意系统空间观察容器信息和当前容器所属服务资源等状态信息。
(list (StartService SystemCtl “”) (ServiceInput SystemCtl “info=container ls=container”) (ServiceInput SystemCtl “info=service ls=service”))
(list (ServiceInput 1 “info=container ls=container”) (ServiceInput 1 “info=service ls=service”))

样例

在System-2 Container-1上开Xnign服务,在System-4 中创建4个容器,分别开启XnignTest压测服务,每服务100W链接,总计400W链接,可以看到每容器带宽IO还是比较均衡的(目前按照连接数量做均衡,后期会加入QOS队列)。
在这里插入图片描述

关于符号汉化

这是mylisp语言提供的特性,原子对象是汉化定义的,重新定义后即可中文输入命令,注意目前每次容器登录都都需要自行引用汉化代码。
汉化如下 :

(list
(setg 命令列表) (setref 命令列表 list) (setg 启动系统) (setref 启动系统StartSystem)
(setg 登陆系统) (setref 登陆系统 Entry) (setg 启动服务) (setref 启动服务StartService)
(setg 关闭服务) (setref 关闭服务 CloseService) (setg 启动物理容器) (setref 启动物理容器StartPhyContainer)
(setg 服务输入) (setref 服务输入 ServiceInput) (setg 系统工具) (setref 系统工具SystemCtl)
)

输入上述汉化代码后我们就可以中文输入了,如下:

(命令列表 (启动系统 0) (启动系统 2) (登陆系统 2 0) )
(命令列表 (启动物理容器 1) (登陆系统 2 1) )
(命令列表 (启动服务 Xnign “123”) (启动物理容器 2) (登陆系统 2 2))
(命令列表 (启动服务 XnignTest “-dip=192.170.0.11 -c=128”) (服务输入 1 “TestInput”))
(命令列表 (启动服务 系统工具 “”) (服务输入 SystemCtl “dump=tcp ls=tcp”) )
(命令列表 (启动服务 系统工具 “”) (服务输入 SystemCtl “info=container ls=container”) (服务输入 系统工具 “info=service ls=service”))
(命令列表 (服务输入 1 “info=container ls=container”) (服务输入 1 “info=service ls=service”))
(命令列表 (关闭服务 1))

猜你喜欢

转载自blog.csdn.net/AthlonxpX86/article/details/82711282