| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 内存测试的常用方法 -> 正文阅读 |
|
[网络协议]内存测试的常用方法 |
# 内存信息查看命令: Free top cat /proc/meminfo 常用第三方内存测试工具:
m
bw
--
内存
带宽测试工具
m
emtster
--
内存压力测试工具
l
mbench
--
内存综合性能测试工具
一、mbw: 下载地址:http://github.com/raas/mbw ./mbw –q –n 1 200 参数说明:-q 表示隐藏日志 , -n 1表示运行1次,200表示测试所用的内存大小,单位为MB主要测试内存拷贝的速度,主要分三部分:memcpy(内存拷贝),dumb(字符拷贝),memblock(内存块)拷贝,计算通过计算拷贝指定内容的时间计算内存拷贝速度。 二、memtester 下载地址:http://pyropus.ca/software/memtester/ Memtester:测试内存(主要DDR)的读写访问可靠性(仅正确性,与速度性能无关) ./memtester –p <address> 100(m) 2,不设置地址值(系统决定映射区的起始地址) 三、Lmbench 下载地址:https://sourceforge.net/projects/lmbench/ 1.处理器Processor 性能【单位:μs,值越小性能越好】
l
null
call
:执行
getppid
需要的时间;
l
null
I/O
:从
/dev/zero
读一个字节的时间长
A
,写一个字节到
/dev/null
需要的时间长
B,A
和
B
取平
均得本值;
l
stat
:
stat
一个文件(即得到一个文件的信息)需用的时间;
l
open
close
:
open
一个文件然后再
close
它总共需用的时间(不包括读目录和节点的时间);
l
selct
TCP
:通过
TCP
网络连接选择
100
个文件描述符所耗用的时间;
l
sig
inst
:
install
signal
handler
所
耗用的时间;
l
sig
hndl
:
catch
signal
所耗用的时间;
l
fork
proc
: fork
一个完全相同的
process
,并把原来的
process
关掉所耗用的时间。
l
exec
proc
:模拟
一个
shell
进程的
工作过程:
fork
一个新进程执行新命令,所耗用时间。
l
sh
proc
:模拟
最常见情况
:
fork
一个新进程,同时询问系统
shell
来找到并运行一个新程序
所耗用
时间。
2.?数学运算【单位: ns ,值越小性能越好】 3. 上下文切换【单位:us,值越小性能越好】 多个进程用pipe 环连接起来,每个进程从自己的管道中读取token,执行任务,然后将token 写给下一个进程。context swithing 时间包括:切换进程的时间,加上恢复进程所有状态所用时间(包括恢复cache 状态)。
l
2p/0K
: 每个进程的
size
为
0
(不执行任何任务) ,进程数为
2
时上下文切换耗用的时间;
l
2p/16K
: 每个进程的
size
为
16K
(执行任务) ,进程数为
2
时上下文切换耗用的时间
;
l
8p/16K
: 每个进程的
size
为
16K
(执行任务) ,进程数
为
8
时上下文切换耗用的时间
;
l
16p/16K
: 每个进程的
size
为
16K
(执行任务) ,进程数
为
16
时上下文切换耗用的时间;
?4. 本地通讯延时【单位: μs,值越小性能越好】
l
2p/0K
: 每个进程的
size
为
0
(不执行任何任务) ,进程数为
2
时上下文切换耗用的时间;
l
Pipe
: 所谓的
hot potato
测试:两个没有具体任务的进程用
unix
pipe
通信,一个
token
在
两个进程间来回传递,传递一个来回所耗用的平均时间;
l
AF UNIX
: 同
Pipe
,不同的是两个进程采用
unix
socket
通信。
l
UDP
: 同
Pipe
,不同的是两个进程采用
UDP/IP
通信;
l
RPC/UDP
: 同
Pipe
,不同的是两个进程采用
sun RPC
通信;默认情况下,
RPC
通过
udp
协议传送
。
l
TCP
: 同
Pipe
,不同的是两个进程采用
TCP/IP
;
l
RPC/TCP
: 同
Pipe
,不同的是两个进程采用
sun RPC
通信;指定
RPC
通过
tcp
协议传送。
l
TCP conn
: 创建一个
AF_INET (aka TCP/IP) socket
,并连接到远程主机所耗用的时间,
这个
时间仅指创建
socket
和建立连接本身,不包括解析主机名等等其他动作所用时间。
?5. 文档、内存延时【单位: μs,值越小越好】
l
0k create: 0k
文件创建所花的时间;
l
0k
Delete: 0k
文件删除所花的时间
;
l
10k
create: 0k
文件创建所花的时间;
l
10k
Delete: 0k
文件删除所花的时间;
l
Mmap
Latency:
将指定文件的开头
n
个
字节
map
到内存,然后
umap
,并记录每次
map
和
umap
共耗用
的时间;记录的是每次耗用时间的最大值;
l
Prot
Fault:
保护页延时时间;
l
Page Fault:
缺页延时时间;
l
100fd
selct
:
对
100
个文档描述符配置
select
的时间;
?6. 本地通信带宽【单位: MB/S,值越大越好】
l
Pipe
:在两个进程间建立一个
unix
pipe
,
pipe
的每个
chunk
为
64K
,通过该管道移动
50M
数据所
用的
时间。
l
AF UNIX
: 在两个进程间建立一个
unix
stream socket
,每个
chunk
为
64K
,通过该
socket
移动
10M
数据
所用的时间。
l
TCP
: 同
Pipe
,不同的是进程间通过
TCP/IP socket
通信,传输的数据为
3MB
;
l
File reread
: 读文件并把他们汇总起来所用的时间;
l
Mmap
reread
: 将文件
map
到内存中,从内存中读文件并把他们汇总起来所用的时间;
l
Bcopy
(
libc
)
:
从
指定内存区域拷贝指定数目的字节内容到指定的另
一个
内存区域的速度;
l
Bcopy
(hand)
把
数据从磁盘上一个位置拷贝到另一个位置所用的时间;
l
Mem read
:累加
数组中的整数值,测试把数据读入
processor
的带宽;
l
Mem write
:把
整数数组的每个成员设置为
1
,测试写数据到内存的带宽;
7.内存操作延时【单位: ns ,值越小性能越好】
l
本测试执行
lat_mem_rd
,用来测
试
内存
延迟
l
L1
$
:
在
L1
的
cache
中申请指定
内存,按照指定步长测试的延时;
l
L2 $
:在
L2
的
cache
中申请指定内存
,
按照指定步长测试的延时
;
l
Main mem
:内存中申请指定内存,按照指定步长测试的延时;
l
Rand mem
:系统内存随机访问操作延时;
? ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 13:12:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |