自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (12)
  • 收藏
  • 关注

翻译 C++11: yield() vs sleep_for()

在写入Microsoft专用C++代码时,spinlocking时使用Sleep(1)比Sleep(0)好,是因为Sleep(0)将使用更多的CPU时间,而且Sleep(0)只有在有另外一个等于-priority线程等待运行。 然而,使用C++ 11线程库,没有太多关于std :: this_thread :: yield()与std :: this_thread ...

2019-04-28 17:05:24 3469

原创 boost yield fock介绍

1 介绍 协程分为对称协程(symmetric)和非对称协程(asymmetric),对称协程需要显式指定将控制权yeild给谁,非对称协程可以隐式的转移控制权给它的调用者,boost coroutine2实现的是非对称协程.Boost库中的协程支持两种方式: 一种是封装了Boost.Coroutine的spawn,是一个stackful类型的协程;...

2019-04-28 16:51:41 1805

原创 C/C++ 协程库boost.coroutine2、魅族libgo、腾讯libco、开源libaco详解

最近研究高性能C++协程,网上了解到了魅族libgo、腾讯libco、开源libaco、boost coroutine,这里记录一下。1 什么是协程 协程可以很轻量的在子例程中进行切换,它由程序员进行子例程的调度(即切换)而不像线程那样需要内核参与,同时也省去了内核线程切换的开销,因为一个协程切换保留的就是函数调用栈和当前指令的寄存器,而线程切换需要陷入内核态,改...

2019-04-25 14:34:37 16080 5

原创 c++11:线程池,boost threadpool、thread_group example

这里介绍一下boost两种线程池的使用,以及C++11实现线程池。1 boost::threadpool最新版本boostHeader:boost/asio/thread_pool.hppConvenience header:boost/asio.hppvoid my_task(){ ...}...// Launch the pool with four...

2019-04-22 17:00:49 14907

转载 zookeeper与etcd的对比

背景最近在看到Pachyderm的介绍时,看到作者拿YARN和Kubernetes做类比,拿Zookeeper和etcd做对比。YARN和Kubernetes的类比还相对比较好理解,毕竟他们都有资源管理和调度的职能,只不过YARN上运行的对象是JVM,而Kubernetes上运行的是容器。但是拿Zookeeper和etcd来类比我就有些不懂了,在我之前的概念里zookeeper并不是一个...

2019-04-19 15:31:47 20528 3

转载 libev+nanomsg实现多线程通信及事件轮询实例demo

概述:在我们刚接触程序编码的时候,我们要轮询数据有没有发过来,我们最多的可能还是使用while+sleep这样的组合,这对于处理来说是一个效率很低的方法同时还消耗cpu,那么在多线程编程中使用libev+nanomsg会不会提高效率呢。下面实例主要工作如下:A B C 三个线程通过nanomsg通信,A线程作为主线程,控制中枢,B C请求均通过A.那么在实际应用中,比如B模块是接收...

2019-04-19 15:21:27 2872

转载 find 默认不查找软链接内的文件

介绍find 给出的 find 语法是 find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression] [-H | -L | -P] [-EXdsx] 这些就是 find 的可选选项。...

2019-04-19 15:21:05 8566

转载 Linux Shell 1>/dev/null 2>&1 含义

shell中可能经常能看到:echo log > /dev/null 2>&1命令的结果可以通过%>的形式来定义输出/dev/null :代表空设备文件> :代表重定向到哪里,例如:echo "123" > /home/123.txt0 :标准输入stdin1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等...

2019-04-19 15:20:44 366

转载 Linux中的Page cache和Buffer cache详解

网上查了查,这里做一下记录。1、内存情况 在讲解Linux内存管理时已经提到,当你在Linux下频繁存取文件后,即使系统上没有运行许多程序,也会占用大量的物理内存。这是因为当你读写文件的时候,Linux内核为了提高读写的性能和速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory 也不会自动释放,...

2019-04-19 14:55:49 12710 2

转载 压缩格式gzip/snappy/lzo/bzip2 比较与总结

Hadoop对于压缩格式的是透明识别,hadoop能够自动为我们将压缩的文件解压。 目前在Hadoop中常用的几种压缩格式:lzo,gzip,snappy,bzip2,我们简单做一下对比,方便我们在实际场景中选择不同的压缩格式。支持特性对比:压缩格式 codec类 算法 扩展名 多文件 splitable native 工具 hadoo...

2019-04-18 13:06:14 12871

原创 Linux Web压力测试工具[ApacheBench(ab) / webbench]

最近了解道路两个压力测试工具,下面介绍一下压力测试工具1 ApacheBench(ab)ab 只能测试使用http协议的网站abs 可以测试使用http或者https协议的网站 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、ligh...

2019-04-11 17:26:21 619

原创 Linux虚拟内存介绍,以及malloc_stats和malloc_info 监控查看内存情况

查找内存泄漏问题,可以使用valgrind、malloc_stats和malloc_info 监控查看内存情况。1、 Linux内存介绍1.1 Linux 的虚拟内存管理有几个关键概念: 1、每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址; 2、虚拟地址可通过每个进程上的页表(在每个进程的内核虚拟地址空间)与物理地址进行映射,...

2019-04-09 10:33:08 10260 3

原创 GoAccess日志分析工具,适用于Nginx/Apache/IIS 等

最近了解到一款Nginx日志分析工具GoAccess ,这里记录一下。1 介绍 GoAccess 是一款开源(MIT许可证)的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序即可访问。 能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。 GoAccess 解析指定的 Web 日...

2019-04-08 16:47:51 3227

转载 systemtap内核探测工具

systemtap是内核开发者必须要掌握的一个工具,本文我将简单介绍一下此工具,后续将会有系列文章介绍systemtap的用法。什么是systemtap 假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统调用,发生的是什么系统调用等这些信息,有什么解决方案呢?最原始的方法是,找到内核系统调用的代码,加上我们需要...

2019-04-08 16:22:05 380

原创 Nginx: Connection reset by peer 错误定位

最近Nginx反向代理遇到了“104: Connection reset by peer”错误,google了一下,这里记录一下。1 错误原因:检查链接是否已经close。 upstream发送了RST,将连接重置。 errno = 104错误表明你在对一个对端socket已经关闭的的连接调用write或send方法,在这种情况下,调用write或se...

2019-04-08 15:27:00 99031 2

转载 NSCD--DNS缓存服务

nscd(Name Service Cache Daemon)是一种能够缓存 passwd、group、hosts 的本地缓存服务,分别对应三个源/etc/passwd、/etc/hosts、/etc/resolv.conf。其最为明显的作用就是加快 DNS 解析速度,在接口调用频繁的内网环境建议开启。 这里利用 nscd 的 hosts 缓存服务来实现 linux 下...

2019-04-08 15:00:34 21254

原创 Linux 性能检测工具

最近查看性能问题,发现一些好的文章和资料,这里记录一下。Linux *topapachetop atop biotop cachetop ctop dnstop filetop gtop hatop htop iftop iotop itop jnettop kerneltop latencytop logtop...

2019-04-08 14:52:20 743

转载 Kibana分析及可视化日志文件

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。 ...

2019-04-08 14:18:59 6939 2

转载 Nginx错误日志说明

错误日志类型 类型1:upstream timed out 类型2: connect() failed 类型3: no live upstreams 类型4: upstream prematurely closed connection 类型5:104: Connection reset by peer 类型6:client inten...

2019-04-08 09:23:15 4388 2

转载 c++数组的引用

引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 引用最大的好处就是提高函数效率以及节省空间;关键问题一、传递引用与传指针、传值的区别?值传递 (pass by value),指针传递(pass by pointer),当发生函数调用时,需要给形参分配存储单元、当传递是对...

2019-04-04 17:41:31 4585 3

转载 Upsync介绍,以及基于 consul + upsync 的动态upstream管理

http://www.yunweipai.com/archives/16211.html Upsync是新浪微博开源的基于Nginx实现动态配置的三方模块。Nginx-Upsync-Module的功能是拉取Consul的后端server的列表,并动态更新Nginx的路由信息。此模块不依赖于任何第三方模块。Consul作为Nginx的DB,利用Consul的KV服务,每个Nginx ...

2019-04-04 16:51:38 1760

原创 nginx 499/500/502/504 错误分析

问题描述:Nginx服务器大量499报错220.181.165.136 - - [18/May/2015:10:31:02 +0800] "POST /v1/jobsHTTP/1.1" 499 0 "" "bdHttpRequest/1.0.0" 115.239.212.7 - - [18/May/2015:10:31:03 +0800] "GET /v1/job/64330...

2019-04-03 09:36:25 27038 1

转载 使用redis来调用iptables,封禁恶意IP

话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,你是不是恶意的IP. 那么能否网络层或应用层去处理呢?在前几篇文章有写过应用层方案,今天就写下网络层方法. 说起iptables 除非是专业人员,像普通开发者是不会使用的,一堆表一堆链的一...

2019-04-02 16:56:01 363

Linux服务器架设指南——第1章

主要讲解网络硬件知识,是《Linux服务器架设指南》书的第一章

2010-05-24

c+c++程序员面试宝典.CHM

该书详细介绍了程序员面试时所需注意的事项,供大家参考学习。

2010-04-25

Linux 下sendmail邮件系统的详细配置

该文件说明了Linux下sendmail邮件系统的详细配置,为Linux初学者来说,提供了简洁的sendmail配置教程

2010-04-25

Linux 用 C实现的邮件发送程序

改程序用c语言在linux环境下编写,成功发送邮件。

2010-04-25

linux 定时发送邮件 应用sendmail技术

由于自己记性太差,很难记住朋友的生日,所以突发奇想,写了个简单的shell程序,主要目的就是为了能在固定的节日(如:圣诞、元旦等,可以指定)和朋友生日的时候自动给朋友发送祝福信件,同时密送给自己,程序虽然简单,达到了自己需要的效果。 特地共享出来和大家一起分享,修改mail_check.sh程序的变量,最好每天8点执行,显得比较真实,其它的配置文件在conf目录下。

2010-04-25

C 语言编写一个网络蜘蛛(网络爬虫)

该文档详细介绍了网络蜘蛛(网络爬虫),并附带c语言开发的爬虫代码,对爬虫初学者很有用。

2010-04-25

中文分词算法介绍、分类详解

该文档详细介绍了中文分词的原理及相应的技术。文档讲解了最大匹配法(Forward Maximum Matching method, FMM法)、正向最大匹配法(由左到右的方向)、逆向最大匹配法(由右到左的方向)、最少切分(使每一句中切出的词数最小)。

2010-04-25

中文编码基础知识介绍

该书详细介绍了GB2312、GBK、BIG5、GB18030、UTF_8字符集等编码,为编码初学者提供了详细信息。

2010-04-25

中文编码规范详细介绍

该文档详细介绍了GB2312、Unicode、UTF-8、UTF-16等编码,对初步想编码的程序呀很有帮助。

2010-04-25

spider网络爬虫源代码

这是一个spider网络爬虫源代码,用c++完成的,主要是为搜索引擎研究者提供很好的材料,为初学者提供代码。大家可以互相学习学习。

2009-01-15

Cluence搜索引擎源码

这个是c版的luence。了解搜索引擎的人都知道luence是一个很好开源搜索引擎,他开始主要是java版的,但现在为大家提供一个c版的luence ,希望对大家有用,大家互相学习学习。

2009-01-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除