bench

PostgreSQL复制以及监控

核能气质少年 提交于 2020-10-29 13:57:50
PostgreSQL复制的类型 +----------------------------------------------------+ | | | Replication in PostgreSQL | | | +--+----------------------------------------------+--+ | | | | +------v-----+ +-----v-----+ | Physical | | Logical | +-+--------+-+ +-----+-----+ | | | | | | +-------------v--+ +--v----------+ +--------v--------+ | Log Shipping | | Streaming | | Logical | +----------------+ +-+---------+-+ | Replication | | | | Slots | | | +--------+--------+ | | | | | | +------------v--+ +--v--------------+ +--------v--------+ | Without | | With Physical | | Subscriptions | | Replication | |

go语言测试之TDD

感情迁移 提交于 2020-10-27 01:29:08
go语言测试之TDD 一、TDD理解 TDD定义 基于TDD周期具体完成“迭代”章节教程 基准测试(benchmarks) 二、完成该教程“迭代”章节的练习 修改测试代码,以便调用者可以指定字符重复的次数,然后修复代码 写一个 ExampleRepeat 来完善你的函数文档 看一下 strings 包。找到你认为可能有用的函数,并对它们编写一些测试 三、TDD应用:go语言实现冒泡排序算法 基于TDD周期完成冒泡排序算法 基准测试(benchmarks) 一、TDD理解 TDD定义 TDD 是 测试驱动开发 (Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。 TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。其基本流程图如下: 基于TDD周期具体完成“迭代”章节教程 1、编写测试 在测试中我们测试Repeat函数,希望通过Repeat函数,返回一个字符串,该字符串包含5个传入的字符参数。 在iteration/repeat

温度记录仪和传感器的校准知识

对着背影说爱祢 提交于 2020-07-27 05:28:54
校准Calibration:在规定条件下,为确定测量仪器仪表或测量系统的示值、实物量具或校准物质所代表的值与相对应的由参考标准确定的量值之间关系的一系列活动。 校准是对被测设备(数据记录仪,传感器)与可追溯参考的可靠,可重复和记录的比较。该参考指的是一种仪器,是一种可追溯到国家标准的高精度仪器。需要经过认可的实验室定期检查。校准总是在一个(或多个)定义的测量点上执行。被测的设备包括内置温度/湿度传感器的温度记录仪,外置NTC / PT100温度探头的温度记录仪等。 提到校准,需要了解温度漂移的概念。在将传感器内置到数据记录仪之前,每个传感器元件都经过校准(根据其精度进行测试并记录),因此在规定的规格范围内都是准确的。精度随时间的变化称为“漂移”。如果我们在一年后重新校准传感器,我们将验证传感器精度是否仍在规格范围内。 那么什么原因导致了漂移呢?漂移可能是由于物理影响和组件随时间的老化而发生的。 每种传感器类型的漂移风险都不同,因为它很大程度上取决于所使用的测量原理以及对传感元件的保护程度。 要理解术语“校准”,我们了解数据记录仪的物理和技术特性及其生命周期是至关重要的。 在数据记录仪的设计过程中,已经选择了正确的传感器,并使用正确的算法将其仔细地内置到设备中。 在生产过程中,每个传感器在组装到数据记录器中之前都经过校准。之后,要进行几次检查和样品测试,以验证产品是否符合所有要求

PHP8新特性之JIT简介

白昼怎懂夜的黑 提交于 2020-07-26 23:47:49
本文地址: https://www.laruence.com/2020/06/27/5963.html 转载请注明出处 PHP8 alpha1已经在昨天发布,相信关于JIT是大家最关心的,它到底怎么用,有什么要注意的,以及性能提升到底咋样? 首先,我们来看一张图: 左图是PHP8之前的Opcache流程示意图, 右图是PHP8中的Opcache示意图, 可以看出几个关键点: PHP8的JIT是在Opcache之中提供的 目前PHP8只支持x86架构的CPU JIT是在原来Opcache优化的优化基础之上进行优化的,不是替代 事实上JIT共用了很多原来Opcache做优化的基础数据结构,比如data flow graph, call graph, SSA等,关于这部分,后续如果有时间,可以单独在写一个文章来介绍,今天就只是着重在使用层面。 下载安装好以后,除掉原有的opcache配置以外,对于JIT我们需要添加如下配置到php.ini: opcache.jit=1205 opcache.jit_buffer_size=64M opcache.jit这个配置看起来稍微有点复杂,我来解释下, 这个配置由4个独立的数字组成,从左到右分别是( 请注意,这个是基于目前alpha1的版本设置,一些配置可能会随着后续版本做微调 ): 是否在生成机器码点时候使用AVX指令, 需要CPU支持: 0:

Ceph RBD 的实现原理与常规操作

戏子无情 提交于 2020-05-06 02:40:18
目录 文章目录 目录 前文列表 RBD RBD Pool 的创建与删除 块设备的创建与删除 块设备的挂载与卸载 新建客户端 块设备的扩缩容 RBD 块设备的 Format 1 VS Format 2 块设备的快照、克隆、恢复 块设备的 I/O 模型 RBD QoS Token bucket algorithm(令牌桶算法) dmClock algorithm 块设备性能测试 使用 RADOS bench 进行基准测试 使用 fio 进行 IO 测试 前文列表 《 Ceph 分布式存储架构解析与工作原理 》 《 手动部署 Ceph Mimic 三节点 》 RBD RBD: Ceph’s RADOS Block Devices , Ceph block devices are thin-provisioned, resizable and store data striped over multiple OSDs in a Ceph cluster. Ceph RBD 是企业级的块设备存储解决方案,支持扩缩容、支持精简置备,具有 COW 特性,一个块设备(Volume)在 RADOS 中会被分割为若干个 Objects 储存。 CEPH BLOCK DEVICE Thin-provisioned Images up to 16 exabytes Configurable

ModelSim-Altera版本仿真流程

放肆的年华 提交于 2020-04-29 20:44:32
ModelSim-Altera版本仿真流程 1、建立ModelSim-Altera工作环境 1.1版本说明 ModelSim-Altera(OEM)version 6.4a QuartusII version 9.0 该ModelSim版本支持所有QuartusII支持的Altera器件。 1.2要自动从Quartus II运行EDA设计输入、综合、仿真或者时序分析工具,您必须指定第三方EDA工具的可执行文件位置,通过单击Tools菜单上的Options供然后点击EDA Tool Options选项。 2、用ModelSim-Altera建立工程 2.1 如果要执行时序仿真,需要产生Verilog(.vo)或者VHDL(.vho)输出文件。 a. 选择EDA Tool Settings b. 用QuartusII编译设计文件 注:如果已经编译过设计, 要重新产生.vo、.vho和.sdo(标准延迟输出文件)的话,只需要运行Start EDA Netlist Writter即可。 同时也可以用于产生.vcd文件。 如果要执行功耗估算,确保在Simulator Settings下的Settings对话框选择合适的参数。 2.2 启动Modelsim软件,选择工程目录:File—>Change Directory. 注:如果要执行功能仿真,工程目录就是包含设计文件的目录;

Scrapy模块使用出错,出现builtins.ImportError: DLL load failed: 找不到指定的程序

陌路散爱 提交于 2020-04-24 18:43:39
问题描述 : 初次学习scrapy,使用scrapy官方文档创建爬虫项目出错, 出现builtins.ImportError: DLL load failed: 找不到指定的程序, ImportError: DLL load failed: 找不到指定模块。 原因: scrapy模块安装冲突,我的python和Anaconda中同时安装了scrapy模块,所以在执行我的爬虫项目时一直出错。 解决方法 :卸载其中一个scrapy模块,在命令框中输入: pip unstall scrapy 然后,输入scrapy,成功显示scrapy模块功能和版本信息。 测试 : 输入scrapy bench ,成功使用模块功能,并且重新测试自己的爬虫项目,完美成功。 另外,如果测试仍然没有成功,可能是安装scrapy模块不成功成功导致的,一般scrapy安装过程中会2遇到以下两种情况: 1. 出现:VC++14.0 Twisted 错误(windows电脑出现) 解决方法:你的电脑缺失VC++14.0 Twisted 框架,因此需要离线安装,离线安装一般需要下载.whl文件,下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 根据报错下载合适的whl文件,出现Twisted错误,则需要下载Twisted.whl文件,在通过 pip install

华为云流媒体性能测试解决方案 轻松应对流量危机

纵饮孤独 提交于 2020-04-24 17:12:49
背景 随着带宽提速和互联网发展,内容丰富、形式多样的视频正成为碎片化时代娱乐消费的新宠,短视频、视频直播、在线钢琴陪练、合唱直播一系列新玩法层出不穷,涉及电竞、社交、电商、教育等各个行业。网络视频快速发展对系统性能带来了巨大的考验。 流媒体业务场景 下面是用户与流媒体服务器的简化交互关系,主要分为推流和拉流2大类。 推流 就是从外界采集数据后利用流媒体协议将文件推流至流媒体服务器端, 拉流 就是将文件从流媒体服务器拉取至本地播放的过程,流媒体的文件主要是由音频和视频2个部分组成,youtube、土豆、优酷等视频播放器播放一个互联网上的视频文件时,需要经过解协议、解封装、音视频解码、以及音视频同步这几个步骤。因此对流媒体的压力测试也需经历这些过程,所以先了解几种常见的流媒体协议: HLS :HTTP Live Streaming(HTTP直播流技术),Apple的动态码率自适应技术,不同带宽的设备可以自动切换到最适合自己码率的视频播放。HLS基于http短连接,将整个流切分成一个个小的文件来下载,也就是ts切片文件,并更新m3u8的索引文件、存放ts文件配置信息和相关路径。m3u8由一系列的标签组成,ts文件为传输的流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3。HLS的主要缺点就是时延性在10秒以上。 RTMP :Real Time Messaging

Deepgreen与Greenplum TPC-H性能测试对比(使用VitesseData脚本)

流过昼夜 提交于 2020-04-06 22:48:57
前两天发了一篇基于 德哥测试脚本 的测试对比文章 《Deepgreen与Greenplum TPC-H性能测试对比(使用德哥脚本)》 ,由于测试数据量少,两个数据库有几轮测试都是1秒持平,但是大多数测试Deepgreen均优于Greenplum,有的甚至快至百倍,感兴趣的朋友可以再回头看看。 今天分享一下Deepgreen提供的TPC-H测试脚本,这个脚本分为浮点类型、数值类型两类进行22轮测试,更加细化,并且结果值更加中肯。 一、测试环境 服务器 IP 节点 Master 192.168.100.107 1 Master Segment1 192.168.100.107 3 instance Segment2 192.168.100.106 3 instance 软件版本: Greenplum 4.3.12 Deepgreen 16.17 二、TPC-H脚本安装 脚本放在github上,有3种方式可以下载,为方便大家,分别介绍一下: 1.如果已经与github主机建立ssh互信( 点此访问建立方法 ): 使用语句克隆repo:git clone git@github.com:cktan/bench.git 初始化子模块(tpch-dbgen): cd bench; git submodule init git submodule update 2.如果懒得建立ssh互信

Yar-2.1 新功能介绍

╄→尐↘猪︶ㄣ 提交于 2020-03-23 19:36:35
3 月,跳不动了?>>> 本文地址: https://www.laruence.com/2020/03/16/5578.html 转载请注明出处 Yar(Yet Another RPC framework) 是一个轻量级支持并行调用的PHP RPC框架,是我还在微博的时候为了优化微博的性能而开发的一个工具,Yar的并行调用在微博被大量应用以降低用户请求耗时。 最近还是因为疫情,我把Yaf,Yaconf都优化了一轮,今天也完成了Yar的优化(事实上,Yar之前写的就还不错,没啥可优化的,哈哈),也新增了俩个能力。我来简单介绍下: 链接持久化 也就是YAR_OPT_PERSISTENT, 这个配置之前一直有,只不过之前是设计为跨请求的持久化,这次做了优化,变成了基于PHP请求生命期的链接保持。 也就是说,当你对一个Yar_Client设置了YAR_OPT_PERSISTEN为true的话,在一次RPC调用结束后,Yar不会销毁这个链接,从而加速后续的针对同样这个Client的RPC调用,我们来看个例子: <?php function bench($client) { $start = microtime(true); $client->header("connection"); echo microtime(true) - $start, "s\n"; } $client = new