bytes

性能测试工具LoadRunner32-LR之windows性能监控Perfmon

夙愿已清 提交于 2020-02-24 22:58:51
Perfmon是啥?   Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,可以用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等 性能分析方法  内存分析方法    内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。   主要方法和步骤:   1.首先查看Memory:%Committed Bytes in Use指标     如果该指标比例比较大,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。另外也可以查看Available Bytes,如果该值小说明可用内存不足,存在性能瓶颈。   2.注意Pages/sec、Pages Read/sec和Page Faults/sec的值     操作系统会利用磁盘较好的方式提高系统可用内存量或者提高内存的使用效率。这三个指标直接反应了操作系统进行磁盘交换的频度。     Pages/sec值持续高于几百,可能有内存问题。Pages/sec值不一定大就表明有内存问题,可能是运行使用内存映射文件的程序所致。     Page Faults/sec说明每秒发生页面失效次数,页面失效次数越多,说明操作系统向内存读取的次数越多。此时需要查看Page Read/sec的计数值,该计数器的阀值为5,如果计数值超过5,则可以判断存在内存方面的问题。 处理器分析方法    1

[Linux]LVM扩展卷

只谈情不闲聊 提交于 2020-02-24 09:43:51
LVM LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physical volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。 优势:能够在线扩容当前的分区容量。 结构:在整个LVM结构当中以此分为:“物理卷、物理卷分区、卷组、逻辑卷”,下面我详细解释一下这四种结构: 物理卷:Physical Volume,简称PV,一个物理卷只不过是一个有LVM管理数据添加在里面的物理存储介质。要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷。使用pvcreate 命令可以将一个磁盘标记为 LVM 物理卷。 物理分区:Physical Extents,简称PE,LVM将每个物理卷分别叫做物理分区的可寻址存储单元,存储单元的大小通常为几MB。磁盘的开头部分为LVM元数据,之后从索引为零开始,每个物理分区的索引依次递增一

Vmware扩展磁盘如何不需重启系统

核能气质少年 提交于 2020-02-24 06:43:15
Vmware扩展磁盘如何不需重启系统 https://www.cnblogs.com/kerrycode/p/4801037.html 在虚拟机Vmware中我们有时候需要添加新的虚拟磁盘或给已有虚拟磁盘扩容(expand),在新增磁盘或磁盘扩容后,Linux系统并不能马上识别到。也就是说你看不到磁盘空间变化(使用fdisk -l查看),这时我们可以通过重启系统(reboot)解决这个问题,但是很多时候,我们并不想在存储扩容时重启系统,因为这样会影响到现有的业务系统。那么为什么新增磁盘或磁盘扩容后,Linux系统识别不到呢?这个是因为连接存储设备的SCSI总线需要重新扫描,才能识别到这些新的存储设备。下面测试一下在添加新的虚拟磁盘或给已有虚拟磁盘扩容如何操作才能不用重启系统 1:Vmware虚拟磁盘扩容 如下所示,Vmware虚拟磁盘扩容后,使用fdisk -l看不到任何变化 [root@localhost ~]# fdisk -l Disk /dev/sda: 171.7 GB, 171798691840 bytes 255 heads, 63 sectors/track, 20886 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System

chapter9.1、魔术方法

泄露秘密 提交于 2020-02-24 05:51:09
魔术方法 python精华之一 特殊属性 __name__ 类,函数,方法等的名字 __modle__ 主模块,当前的模块__main__,其他模块调用返回模块对象 __class__ 相当于type,对象或类所属的类 __bases__ 返回基类的元组,顺序为基类列表中出现的顺序 __doc__ 文档,未定义为None __mro__ 类的mro,定义时就会计算并放在类的属性里的__mro__中 __dict__ 类或实例的属性,可写的字典,这里注意有些只读字典 查看属性 __dir__ 返回类的或者对象的所有成员的列表, dir()函数调用__dir__(),dir是内建函数, 如果类中和实例中定义了__dir__:   使用实例调用时,实例中如果定义了__dir__,就会覆盖类__dir__,返回实例中的__dir__的运行结果;   如果实例中没有,就会调用父类的,如果父类没有,就继续向上找,中间有的话就会运行该方法; 如果类中和实例中没有定义__dir__:   如果对象是模块对象,返回的列表包含文件的属性名和变量名,受作用域影响,一般在模块上使用时,调用模块,在自己的模块搜集   如果对象是类或类的实例,近似于自己实例的字典加类的字典加object的字典,返回列表包含类的属性名,及它的基类的属性名   如果dir() 括号中不写,返回的列表包含不同的内容    

第七天

放肆的年华 提交于 2020-02-22 11:54:59
基础数据类型补充 首字母大写 s1=skdlasd print(s1.capitalize()) 大小写反转 s1.swapcase() 每个单词首字母大写 msg= hi tai 3bai msg.title() 居中 s1.center(20) 中间填长度 s1.center(20," ") 缺的 用 "* " 填充 查找在字符串的顺序 find:通过元素找索引 找到第一个就返回 找不到就返回-1 s1="barry" print(s1.find("a")) #1 print(s1.find("r")) #2 print(s1.find("c")) # -1 index:通过元素找索引,找到第一个就返回 找不到就报错 l1,index("大壮") 元组的特例 元组只有一个元素,并且没有逗号, 那么他就不是元组, 他与该元素数据类型一致 tul=(2) #int tul=(2,) #元组 计数 count 计算元素出现次数 tu=(1,2222,333,333,2,2,2,2,) print(tu.count(3)) #4 排序 sort l1=[5,4,3,2,8,9,10] l1.sort() # 默认从小到大 l1.sort(reverse=True) #默认从大到小 l1.reverse() 反转列表 列表相加 l1=[1,2,3] l2=[4,5,6] print(l1

Linux系统之LVS+Keepalived实现

↘锁芯ラ 提交于 2020-02-21 22:30:06
1、简述lvs四种集群特点及使用场景   LVS集群有4种类型,分别是NAT、DR、TUN、FULLNAT   从工作方式来讲,NAT和FULLNAT都要修改请求报文的目标IP和目标端口(NAT)或源IP目标IP或源端口目标端口(FULLNAT),通常情况下,不建议修改源端口。这两种集群的特点是,请求报文和响应报文都要经由DIRECTOR(调度器),在NAT类型的集群中,后端real server一般都是和director在同一网段,且为私网地址。director应该是后端各real server 的网关。而FULLNAT各real server 的ip未必都在同一IP网络,但后端主机必须能与director通信即可。通常这两种类型的集群应用比较多的是NAT,FULLNAT应用比较少,且FULLNAT是非标准应用,所以我们要在使用FULLNAT时还需要额外的给Linux内核打补丁才能使用;NAT通常应用在一些请求流量没有太大的集群环境中,且director和各后端real server在同一IP网网络,一般用于隐藏后端主机的真实地址;FULLNAT常用于后端主机和director不再同一IP网络,但他们又可以正常通行的跨网段的内网集群环境中使用;   DR和TUN这两种类型的集群在用户请求报文上都没有修改操作,只是在原来的请求报文上各自封装了一个新的mac首部(DR)或ip首部

Python学习之socket实现ssh

微笑、不失礼 提交于 2020-02-21 17:24:52
服务器端步骤 # family address # AF.INET ipv4 # AF.INET6 ipv6 # AF.UNIX local # socket protocol # socket.SOCK_STREAM tcp # socket.SOCK_DGRAM udp # 声明socket实例,包括地址簇,协议类型,默认是ipv4,tcp server = socket.socket() #绑定要监听的端口 server.bind(('localhost',6969)) #开始监听 server.listen() #等别人连接进来 conn, addr = server.accept() #接收客户端发送的东西 data = conn.recv(1024) #也可以发送 conn.send(data.upper()) #关闭服务器端 server.close() # 客户端步骤 # 实例化一个socket,作用是声明socket实例,同时生成socket连接对象 client = socket.socket() #开始连接 client.connect(('localhost',6969)) #发送数据 client.send() #关闭客户端 client.close() python3中把字符串的编码变成了unicode,文件默认编码变成了utf-8。把str

Linux timeout命令的使用:timeout - run a command with a time limit

烂漫一生 提交于 2020-02-21 05:44:22
timeout是一个命令行实用程序,它运行指定的命令,如果在给定的时间段后仍在运行,则终止该命令。timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中。 NAME timeout - run a command with a time limit SYNOPSIS timeout [OPTION] DURATION COMMAND [ARG]... timeout [OPTION] $ timeout 5 ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=128 time=0.410 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=128 time=0.181 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=128 time=0.174 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=128 time=0.146 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=128 time=0.174 ms $ timeout -s SIGKILL 5s

Linux磁盘管理基础——分区(MBR分区格式)

廉价感情. 提交于 2020-02-19 17:48:29
实验环境:CentOS 7.x (并假设是可以正常使用) 了解一下: SAS硬盘:企业级硬盘,服务器专用。 SATA硬盘:普通笔记本上装的那种。 SCSI硬盘与IDE硬盘:现在不怎么常见,快变成古董了。 两个重要概念 拿到一块硬盘存储设备后要做的:添加设备、分区、格式化(创建文件系统)、创建挂载点、修改配置文件。 Linux系统中一切都是文件,硬件设备也是。 MBR分区格式 MBR (Master Boot Record)格式——主引导记录 主引导记录 (MBR)位于硬盘的0号柱面(Cylinder)、0号磁头(Side)、1号扇区(Sector)。 了解柱面、磁头、扇区。 其中,1扇区称为主引导扇区(也叫主引导记录MBR),占 512 字节(bytes)。它由三个部分组成: 主引导程序(boot loader,即主引导记录,占 446 bytes); 硬盘分区表DPT(Disk Partition Table,占 64 bytes); 结束标志(占 2 bytes,固定值为 十六进制 55AA )。 注意: 硬盘的第一个扇区最重要,它里面保存用来记录硬盘里面有多少个分区以及每一分区的大小。 硬盘分区表是用来说明磁盘上的分区情况,一共占 64 字节,即 16*4 ,所以 最多 只有 4 个 分区信息可以写到第一个扇区中,所以就称这4个分区为4个 主分区 ( primary

Python+unittest+HTMLTestRunner进行接口自动化,以html格式展示结果报告

爱⌒轻易说出口 提交于 2020-02-18 19:37:25
HTMLTestRunner下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html. 把 HTMLTestRunner.py放置当前的项目文件夹下。 下载的 HTMLTestRunner.py 是针对 python2 写的,所以针对 python3 需要适当更改其内容: 1.   问题一: No module named StringIO   原因: python 3 中 没有 StringIO 这个模块。这里我们需要使用io 这个模块来代替。   解决方法:     第 94行引入的名称要改,从 import StringIO 改成import io。     相应的, 539行 self.outputBuffer = StringIO.StringIO() 要改成self.outputBuffer = io.BytesIO()   2.   问题二: AttributeError: 'dict' object has no attribute 'has_key'   原因: python 3 字典类型的object 已经不支持 has_key函数,我们需要使用in 来进行遍历。   解决方法:     定位到 642行,if not rmap.has_key(cls): 需要换成 if not cls in rmap: