2021-06-01-HPC-performance-test
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、设置开机程序自动启动
- 取消开机CTRL+ALT+DEL
<1>开始->管理工具->本地安全策略->“本地策略"和"安全选项"展开"交互式登陆”;
<2>双击"不需要按CTRL+ALT+DEL"选中启用;
- 设置自动登录账户
<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相关推荐
- 499、Java分布式和集群12 -【SpringCloud视图微服务 - 消息总线Bus】 2021.06.01
目录 0.RabbitMQ 1.先运行,看到效果,再学习 2.pom.xml 3.bootstrap.yml 4.application.yml 5.ProductDataServiceApplica ...
- 《惢客创业日记》2021.06.01(周二)五月份的工作总结
时间真快,五月一晃而过,感觉时间就像一辆没有停靠站台的疾驰列车,装载着每个人的经历和人生驶向没有尽头的远方.不管是对,还是错,是得到,还是失去,都将其存储到每个人的大脑记忆中,由此让我想到了一句话:& ...
- Doris Weekly FAQ】2021.07.19~2021.08.01
观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...
- Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)
一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...
- 2021.06.03邮票面值设计
2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...
- 【财经期刊FM-Radio|2021年01月19日】
title: [财经期刊FM-Radio|2021年01月19日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 美股美债休市,欧股走出逾一周低谷,雪铁龙并购后新公司登陆欧股首日涨超 ...
- 【财经期刊FM-Radio|2021年01月23日】
title: [财经期刊FM-Radio|2021年01月23日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 纳指惊险收涨,道指两连跌,中概电子烟第一股翻倍,比特币大反弹. 美国 ...
- 2021.06.06家庭财经系统制作(2)
show tables; 查看数据库里有什么表命令. 碰到mysql软件问题.比想象的难缠. 用之前的方式打不开黑框(鼠标单击 mysql5.7 ccommand line Client),黑框一闪而 ...
- 【财经期刊FM-Radio|2021年01月20日】
title: [财经期刊FM-Radio|2021年01月20日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 纳指涨超1.5%,中概大涨,腾讯音乐涨21%,金银油回涨,以太币新高 ...
- 2021.06.02会解方程的计算器
2021.06.02会解方程的计算器 (题目来源:) 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主 ...
最新文章
- 腾讯云智能制造首次披露三大战略布局,发布“511”生态伙伴计划
- 记一次用pip安装docker-compose报错及解决方法
- 2014-07-23 利用ASP.NET自带控件实现单文件上传与下载
- Docker(二)安装及常用命令
- boost::test模块带有自定义初始化测试的静态库使用变体
- .net10个必备工具
- 上海电力学院计算机学院怎么样,上海电力学院计算机科学与技术学院在职研究生_上海电力学院在职研究生_在职研究生招生信息网...
- 草稿 前端开发 代码的编写习惯 缩进的意义 HTML的格式
- C语言方向键识别和字母识别,c语言中怎样输入和读取方向键
- 微信公众平台开发(120) 微信支付报关接口
- 北京开源人linux运维实战
- java中文文档官方下载
- CPU纯软件半虚拟化技术
- VS2015之博大精深的MFC项目开发(一)
- iOS获取UDID的方法及步骤
- auto.js脚本自动点击屏幕双11自动领金币
- C语言笔记本电脑销售系统课设
- 实战:使用Pytorch搭建分类网络(肺结节假阳性剔除)
- Ethernet(以太网) 详解 MAC、MII、PHY
- buff系统 游戏中_请问BUFF状态
热门文章
- C语言中如何求三角形最大正弦值,余弦定理求三角形面积
- OAuth2.0+SpringSecurity+Jwt实现系统的登录认证,用户授权
- 标准时钟系统(体育场馆时钟同步系统)京准电子
- 逆流而上的黑胶唱片 数位趋势下的一支奇兵?
- 解决1KB文件夹快捷方式病毒
- MSDN Library下载与安装(MFC)
- [CF296D] Greg and Graph [floyd]
- 计算机维修与数据恢复论文,备份恢复论文,关于计算机数据备份数据恢复技术相关参考文献资料-免费论文范文...
- html语言怎么插入视频,如何在HTML5网页中插入 Video(视频)
- 应用程序dll文件缺失,以及无法正常启动0xc000007b