
性能调优
文章平均质量分 93
tiny丶
这个作者很懒,什么都没留下…
展开
-
多队列网卡介绍以及Suricata应用场景
一、基础1.相关名词IRQInterrupt Request,中断请求,从硬件层发出作用:执行硬件中断的请求SMP(Symmetrical Multi-Processing)对称多处理器系统,是指在一个计算机上汇集了一组CPU,各CPU之间共享内存子系统以及总线结构(或者说是两个或多个同样的处理器通过一块共享内存彼此连接。)作用:适用于多处理器计算机APIC(A...原创 2018-08-29 14:23:43 · 2168 阅读 · 0 评论 -
Hyperscan 5.0.0 新特性
Hyperscan 5.0.0 版本已于2018年7月9日在Github ( https://github.com/intel/hyperscan ) 上发布。这一新版本主要涉及3个改进:加入Hyperscan/libpcre混合库,支持所有PCRE语法特性; 加入“逻辑组合”新特性,满足对多规则进行自定义的逻辑组合匹配的需求; 加入Hyperscan工具对Windows操作系统的支持...转载 2018-08-10 14:21:23 · 3616 阅读 · 1 评论 -
多队列网卡及网卡中断绑定阐述
多队列网卡介绍多队列网卡顾名思义就是由原来的单网卡单队列变成了现在的单网卡多队列。多队列网卡是一种技术,最初是用来解决网络IO QoS (quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,体现最为明显的就是单核CPU处理不了网卡大量的数据包请求(软中断)而造成大量丢包,其实当网卡收到数据包时会产生中断,通知内核有新数据包,然转载 2017-12-24 15:21:41 · 6581 阅读 · 0 评论 -
Linux 如何测试 IO 性能(磁盘读写速度)
这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道。数据库属于IO密集型的应用,所以还是先评估下Server的IO性能,看看是否能和线上的机器匹配上。之前一直知道用dd(device to device)命令可以简单测试磁盘的IO读写速度,但没有深究。但这次做性能测试的关系,需要得到一个相对精确的值(之前的测试吃过这方面的亏转载 2017-09-26 14:37:46 · 7039 阅读 · 0 评论 -
Hyperscan在Suricata中的应用
Suricata简介Hyperscan作为一款高性能的正则表达式匹配库,极适用于部署在IDS/IPS等网络解决方案中。Suricata(https://suricata-ids.org)是一款免费、开源、成熟、快速、健壮的网络威胁检测引擎,该引擎能够进行实时入侵检测(IDS),嵌入式入侵防御(IPS),网络安全监控(NSM)和离线pcap处理。Suricata与其竞争对手Snort类似转载 2017-09-07 17:32:32 · 4360 阅读 · 0 评论 -
linux 平台 性能分析 工具
该工具的目的: 该工具用于代码性能优化,找出代码中的瓶颈或热点。1. Intel VTune http://software.intel.com/en-us/intel-vtune-amplifier-xe/大名鼎鼎的分析工具,可以直接启动一个程序来分析,比如$vtuneHome/amplxe-cl -collect hotspots -duration原创 2016-07-08 10:23:20 · 1400 阅读 · 0 评论 -
__ATTRIBUTE__ 你知多少?
__ATTRIBUTE__ 你知多少?GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧转载 2017-07-01 14:52:20 · 629 阅读 · 0 评论 -
分配空间不足引起的错误:‘Stack smashing detected’
使用环境:ubuntu 11.10、C++出错情景:使用mysql执行一个query语句,以进行一个涉及多个表的联合查询(query语句比较长)代码如下:[cpp] view plain copychar query[128]={0}; sprintf(query, "....."); ...原创 2016-07-08 16:05:56 · 18781 阅读 · 0 评论 -
Linux性能评测工具之一:gprof篇
1 简介改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为 Linux平台上的程序精确分析性能瓶颈。gprof精确地给出函数被调用的时间和次数,给出函数调用关系。 gprof 用户手册网站 http://sou原创 2016-06-30 16:00:49 · 2035 阅读 · 0 评论 -
再谈 内存对齐补齐--提高cpu检索周期效率
首先我们先看看下面的C语言的结构体:[cpp] view plain copy typedef struct MemAlign { int a; char b[3]; int c; }MemAlign; 以上这个结构体占用内存多少空间呢?也许你会说,这个简单,计算每个转载 2016-06-30 15:13:53 · 1308 阅读 · 0 评论 -
Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind这个名字取自北欧神话中英灵殿的入口。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。【一】用valgrind对代码进行内存检测的时候,如果提示“Conditional jump or原创 2014-04-03 15:49:39 · 2351 阅读 · 0 评论 -
vtune性能分析工具--找出程序性能瓶颈
1. 概述VTune是Intel一个比较强大的性能分析软件。主要包括三个小工具:(1)Performance Analyzer:性能分析,找到软件性能比较热的部分,一般也就是性能瓶颈的关键点。(2)Intel Threading Checker:用于查找线程错误, 能够检测资源竞争、线程死锁等问题(3)Intel Threading Profiler:线程性能检测工转载 2016-04-20 10:42:15 · 8037 阅读 · 0 评论 -
ubuntu14.04安装cuda
首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡):[plain] view plain copy $ lspci | grep -i nvidia 查看你的linux发行版本(主要是看是64位还是32位的):转载 2016-04-20 13:50:53 · 619 阅读 · 0 评论 -
论 内核 OOM(out of memery) 引发的 程序被 killed
一、 描述 自己的代码 ,在平时环境中跑着没有问题的,但是today 测试在跑压力的时候 发现程序跑个 5min 左右就自己断了,程序没有产生core文件,而是显示的 是 killed ?二、可能原因1、 别人也在用这台机器 手动kill掉 了。2、程序自己被未知 原因 干掉了三、寻索1、首先 确认了 原因一不成立,根本没人动过 2、其次 研究原因2原创 2015-12-03 09:44:25 · 4762 阅读 · 0 评论 -
cpu绑定和cpu亲和性
将进程/线程与cpu绑定,最直观的好处就是提高了cpu cache的命中率,从而减少内存访问损耗,提高程序的速度。我觉得在NUMA架构下,这个操作对系统运行速度的提升有较大的意义,而在SMP架构下,这个提升可能就比较小。这主要是因为两者对于cache、总线这些资源的分配使用方式不同造成的,NUMA每个cpu有自己的一套资源体系, SMP中每个核心还是需要共享这些资源的,从这个角度来看,NUMA使用转载 2015-07-11 16:20:24 · 1099 阅读 · 0 评论 -
Linux_多核系统下绑定进程或线程到指定CPU_核执行
coolshell最新的文章《性能调优攻略》在“多核CPU调优”章节,提到“我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我们可以手动地为其分配CPU核,而不会过多地占用CPU0,或是让我们关键进程和一堆别的进程挤在一起。”。在文章中提到了Linux下的一个工具,taskset,可以设定单个进程运行的CPU。同时,因为最近在看redis的相关资料,redis作为单进程模型的原创 2015-07-11 15:20:27 · 8175 阅读 · 0 评论