title: HPC性能测试部署阿里云避坑指南

一、Host_manage部分

cron包的使用

  • 项目地址

https://pkg.go.dev/github.com/robfig/cron@v1.2.0

  • import格式

Import (“github.com/robfig/cron”)

  • 表达式
c := cron.New()
c.AddFunc("0 30 * * * *", func() { fmt.Println("Every hour on the half hour") })
c.AddFunc("@hourly",      func() { fmt.Println("Every hour") })
c.AddFunc("@every 1h30m", func() { fmt.Println("Every hour thirty") })
c.Start()

六个字符分别代表:

Field name   | Mandatory? | Allowed values  | Allowed special characters
----------   | ---------- | --------------  | --------------------------
Seconds      | Yes        | 0-59            | * / , -
Minutes      | Yes        | 0-59            | * / , -
Hours        | Yes        | 0-23            | * / , -
Day of month | Yes        | 1-31            | * / , - ?
Month        | Yes        | 1-12 or JAN-DEC | * / , -
Day of week  | Yes        | 0-6 or SUN-SAT  | * / , - ?

*:每一个;

?:与*的含义相反,代表并非每周或者每月的周期

,:单列出来那几个数值

/:0 3-59/15 11 * * * 代表每天11时第3分钟到59分钟每隔15分钟循环一次

使用gin包接收返回数据

协程goroutine

statuspage

将数据点上报到statuspage进行实时监控。

  • 在上报数据的时候需要在header中加上apikey的信息;
  • 时间戳的格式需要转换成为unixTime的格式,时间需要从现在的时间往前推到程序执行的时间;
  • 传入的数据应该为float格式,但是API接口没有说明;

二、client部分

程序刚开始运行就直接卡住

返回主机信息的时候利用session创建powershell,执行命令,在关闭session的时候会卡住不动。

  • 利用元数据metadata接口

直接通过http方法访问阿里云metadata,可以返回mac地址、private IP、实例ID

  • 利用cpu包(见下)

可以返回逻辑CPU以及物理CPU信息

性能剖析–pprof

错误分析(panic、defer、recover)

返回主机cpu信息的cpu包

  • 项目地址

https://pkg.go.dev/github.com/shirou/gopsutil

  • import格式

import("“github.com/shirou/gopsutil/v3/cpu”")

  • 函数

func Counts(logical bool) (int, error)

输入:true/false

返回:logical CPU数量 / 物理CPU数量

三、部署在Windows系统上的问题

1、打包镜像

利用packer打包自定义镜像,需要下载packer,然后构造json文件进行打包,命令为packer build alicloud.json

{"variables": {"access_key": "XXX","secret_key": "XXX"},"builders": [{"type":"alicloud-ecs","access_key":"{{user `access_key`}}","secret_key":"{{user `secret_key`}}","region":"cn-beijing","zone_id": "cn-beijing-h","image_name":"xxx","source_image":"xxx","ssh_username":"root","instance_type":"xxx","internet_charge_type":"PayByTraffic","io_optimized":"true","image_force_delete":"true","communicator": "winrm","winrm_port": 5985,"winrm_username": "Administrator","winrm_password": "xxx","user_data_file": "winrm_enable_userdata.ps1"}],"provisioners": [{"type": "file","source":"/Users/user/my_git/hpc-client_aliyun/etc/file_list.json","destination": "C:\\Users\\Administrator\\Desktop\\test\\file_list.json"},{"type": "file","source":"/Users/user/my_git/hpc-client_aliyun/etc/us3config.json","destination": "C:\\Users\\Administrator\\Desktop\\test\\us3config.json"},{"type": "file","source":"/Users/user/my_git/hpc-client_aliyun/build/hpc-client.exe","destination": "C:\\Users\\Administrator\\Desktop\\test\\hpc-client.exe"},{"type": "file","source":"/Users/user/my_git/hpc-client_aliyun/build/win_download.exe","destination": "C:\\Users\\Administrator\\Desktop\\test\\win_download.exe"}]
}
  • Line 19 - line 23

    与Linux的区别,不是使用ssh通信而是使用winrm通信,需要配置相关winrm参数,但是阿里云API上找不到。username与password就是用镜像创建主机的用户名与密码。

  • line25

    "provisioners"部分可以参考 packer alicloud 的官方文档,可以用 powershell设置命令行;

2、设置开机程序自动启动

    1. 取消开机CTRL+ALT+DEL

<1>开始->管理工具->本地安全策略->“本地策略"和"安全选项"展开"交互式登陆”;
<2>双击"不需要按CTRL+ALT+DEL"选中启用;

    1. 设置自动登录账户

<1>开始->运行 control userpasswords2,弹出用户帐号对话框。
<2>取消“要使用本机,用户必须输入密码”。
<3>按下Ctrl+Shift+A,弹出“自动登录”对话框,设置好用户帐号和密码。

  • 3.设置程序自动启动

将程序快捷方式放在startup文件夹中,“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp”

3、阿里云主机上程序会无故终止执行

解决方案1: client端加上状态更新,服务端创建协程进行检查

Step1:客户端发送数据

  • 服务端创建主机时,status值为0,在客户端运行完命令行参数之后,程序一般都能正常启动,可以在客户端运行完命令行参数之后加一个POST方法向服务端上报,将status置为2,表明程序开始运行;

Step2:服务端接收数据

  • 服务端可以使用POST方法接收参数,并且以private IP作为标识修改数据库中status值为2;

Step3:服务端创建协程检测

  • 在服务端main函数中增加一个协程,每隔5分钟检查数据库中status依旧为 0 的记录,将当前时间与记录中的时间对比,超过20min可以视为客户端程序没有成功启动,然后执行删除主机(主机删除成功后在数据库中删除该条记录)并且重新创建主机。

goroutine,协程

time包中的Ticker循环执行

2021-06-01-HPC-performance-test相关推荐

  1. 499、Java分布式和集群12 -【SpringCloud视图微服务 - 消息总线Bus】 2021.06.01

    目录 0.RabbitMQ 1.先运行,看到效果,再学习 2.pom.xml 3.bootstrap.yml 4.application.yml 5.ProductDataServiceApplica ...

  2. 《惢客创业日记》2021.06.01(周二)五月份的工作总结

    时间真快,五月一晃而过,感觉时间就像一辆没有停靠站台的疾驰列车,装载着每个人的经历和人生驶向没有尽头的远方.不管是对,还是错,是得到,还是失去,都将其存储到每个人的大脑记忆中,由此让我想到了一句话:& ...

  3. Doris Weekly FAQ】2021.07.19~2021.08.01

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  4. Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)

    一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...

  5. 2021.06.03邮票面值设计

    2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...

  6. 【财经期刊FM-Radio|2021年01月19日】

    title: [财经期刊FM-Radio|2021年01月19日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 美股美债休市,欧股走出逾一周低谷,雪铁龙并购后新公司登陆欧股首日涨超 ...

  7. 【财经期刊FM-Radio|2021年01月23日】

    title: [财经期刊FM-Radio|2021年01月23日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 纳指惊险收涨,道指两连跌,中概电子烟第一股翻倍,比特币大反弹. 美国 ...

  8. 2021.06.06家庭财经系统制作(2)

    show tables; 查看数据库里有什么表命令. 碰到mysql软件问题.比想象的难缠. 用之前的方式打不开黑框(鼠标单击 mysql5.7 ccommand line Client),黑框一闪而 ...

  9. 【财经期刊FM-Radio|2021年01月20日】

    title: [财经期刊FM-Radio|2021年01月20日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 纳指涨超1.5%,中概大涨,腾讯音乐涨21%,金银油回涨,以太币新高 ...

  10. 2021.06.02会解方程的计算器

    2021.06.02会解方程的计算器 (题目来源:) 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主 ...

最新文章

  1. 腾讯云智能制造首次披露三大战略布局,发布“511”生态伙伴计划
  2. 记一次用pip安装docker-compose报错及解决方法
  3. 2014-07-23 利用ASP.NET自带控件实现单文件上传与下载
  4. Docker(二)安装及常用命令
  5. boost::test模块带有自定义初始化测试的静态库使用变体
  6. .net10个必备工具
  7. 上海电力学院计算机学院怎么样,上海电力学院计算机科学与技术学院在职研究生_上海电力学院在职研究生_在职研究生招生信息网...
  8. 草稿 前端开发 代码的编写习惯 缩进的意义 HTML的格式
  9. C语言方向键识别和字母识别,c语言中怎样输入和读取方向键
  10. 微信公众平台开发(120) 微信支付报关接口
  11. 北京开源人linux运维实战
  12. java中文文档官方下载
  13. CPU纯软件半虚拟化技术
  14. VS2015之博大精深的MFC项目开发(一)
  15. iOS获取UDID的方法及步骤
  16. auto.js脚本自动点击屏幕双11自动领金币
  17. C语言笔记本电脑销售系统课设
  18. 实战:使用Pytorch搭建分类网络(肺结节假阳性剔除)
  19. Ethernet(以太网) 详解 MAC、MII、PHY
  20. buff系统 游戏中_请问BUFF状态

热门文章

  1. C语言中如何求三角形最大正弦值,余弦定理求三角形面积
  2. OAuth2.0+SpringSecurity+Jwt实现系统的登录认证,用户授权
  3. 标准时钟系统(体育场馆时钟同步系统)京准电子
  4. 逆流而上的黑胶唱片  数位趋势下的一支奇兵?
  5. 解决1KB文件夹快捷方式病毒
  6. MSDN Library下载与安装(MFC)
  7. [CF296D] Greg and Graph [floyd]
  8. 计算机维修与数据恢复论文,备份恢复论文,关于计算机数据备份数据恢复技术相关参考文献资料-免费论文范文...
  9. html语言怎么插入视频,如何在HTML5网页中插入 Video(视频)
  10. 应用程序dll文件缺失,以及无法正常启动0xc000007b