自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 python文本以及二进制数据

对于从python2.7过来的人,对python3的感受就是python3对文本以及二进制数据做了比较清晰的区分。文本总是Unicode,由str类型进行表示,二进制数据使用bytes进行表示,不会将str与bytes偷偷的混在一起,使得两者的区别更加明显。在python2中会明显发现不能将str与bytes拼接在一起,也不能在bytes中查找字符。然而在实际应用中经常需要对两者进行转换操作以便后...

2018-03-31 13:50:51 1962

转载 GIL影响

Python的GIL是什么鬼,多线程性能究竟如前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程划上等号。本着不光要知其然,还要知其所以然的研究态度,博主搜集了各方面的资料,花了一周内几个小时的闲暇时间深入理解了下GIL,并归纳成此文,也希望读者能通过次本文更好且客观的理解GIL。文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作...

2018-03-28 18:31:53 730

转载 stringstream使用

使用stringstream对象简化类型转换C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了<stdio.h>风格的转换,也许你首先会问:为什么要花额外的精力来学习基于<sstream>的类型...

2018-03-20 16:00:20 143

转载 服务器最大并发连接数

关于TCP服务器最大并发连接数有一种误解就是“因为端口号上限为65535,所以TCP服务器理论上的可承载的最大并发连接数也是65535”。先说结论:对于TCP服务端进程来说,他可以同时连接的客户端数量并不受限于可用端口号。并发连接数受限于linux可打开文件数,这个数是可以配置的,可以非常大,所以实际上受限于系统性能。从理论上说,端口号的作用是在网络连接中标识应用层的进程,服务端一般使用众所周知的...

2018-03-13 20:18:57 11412 3

转载 curl库

一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的http GET/POST操作...

2018-03-13 17:11:00 706

转载 POST与GET的区别

首先介绍HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。       工作原理: 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。 连接 HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,    请求 服务器(向客户端)发回...

2018-03-13 11:33:31 266

转载 event_base结构体

        Libevent在实现线程、内存分配、日志时,都是使用了函数指针和全局变量。在实现多路IO接口上时,Libevent也采用了这种方式,不过还是有点差别的。相关结构体:        现在来看一下event_base结构体,下面代码只列出了本文要讲的内容:[cpp] view plain copy//event-internal.h文件  struct event_base {   ...

2018-03-09 15:55:13 355

转载 evbuffer结构与基本操作

 Libevent将缓冲数据都存放到buffer中。通过一个个的evbuffer_chain连成的链表可以存放很多的缓冲数据。        这是一个很常见的链表形式。但Libevent有一个很独特的地方,就是那个evbuffer_chain结构体。        首先,该结构体有misalign成员。该成员表示错开不用的buffer空间。也就是说buffer中真正的数据是从buffer + mi...

2018-03-08 17:00:42 620

转载 getopts

1. 命令的格式getopt命令可以接受一系列任意形式的命令行选项和参数,并自动将它们转换成适当的格式。格式如下:getopt optstring parameters optstring是关键所在,它定义命令行有效的选项字母,还定义了那些选项字母需要参数值 getopt命令有一个更高级的版本叫做getoptsgetopt 工作例子:#getopt ab:cd -...

2018-03-07 21:03:43 166

转载 关系型与非关系型数据库

NoSql数据库四大分类:键值(Key-Value)存储数据库这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB....

2018-03-05 21:10:14 473

转载 TIME_WAIT状态

  TIMEWAIT状态本身和应用层的客户端或者服务器是没有关系的。仅仅是主动关闭的一方,在使用FIN|ACK|FIN|ACK四分组正常关闭TCP连接的时候会出现这个TIMEWAIT。服务器在处理客户端请求的时候,如果你的程序设计为服务器主动关闭,那么你才有可能需要关注这个TIMEWAIT状态过多的问题。如果你的服务器设计为被动关闭,那么你首先要关注的是CLOSE_WAIT。  ...

2018-03-03 20:24:11 264

转载 EWOULDBLOCK网络可调参数

  send返回值http://blog.csdn.net/anghlq/article/details/5990513 在Unix系统下,如果send 、 recv 、 write在等待协议传送数据时 , socket 被 shutdown,调用send的进程会接收到一个SIGPIPE信号,进程对该信号的默认处理是进程终止。 此种情况 应用就很难查 出 处理进程为什么退出。...

2018-03-03 18:22:37 2541

转载 gettimeofday/clock_gettime

我们写程序的时候经常会使用计时函数,比如RPC中计算超时时间,日志中打印当前时间,性能profile中计算某个函数的执行时间等。在使用时间函数的时候,我们一般默认认为时间函数本身的性能是很高的,对主逻辑的影响可以忽略不计。虽然绝大部分情况下这个假设都没问题,但是了解更多细节能够增加我们对问题的把控力,利于系统的设计和问题的调查。首先来比较gettimeofday/clock_gettime的性能。...

2018-03-02 11:41:08 3848

转载 sar命令介绍

一:命令介绍:参考资料:http://linux.die.net/man/1/sar    sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等,sar命令有sysstat安装包安装,本文...

2018-03-02 10:51:57 2325

转载 内存、swap相关查看

内存centos 6.5 内存查看    最近有个月经问题,老有人问为何开机后,还没有其他服务,mem就被用完了?是不是内存泄露?是否要重启服务?只能说不要看现象,要看本质才能找到问题的根源。往往给出这样的结果,怀疑内存用了90%:Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffersSwap: 2650...

2018-03-01 21:34:57 1271

转载 strace命令

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strace cat /dev/nul...

2018-03-01 18:12:24 119

转载 boost单元测试

简介: 毫无疑问,每个软件产品都需要回归测试套件。在过去,单元测试框架是由测试团队专门开发的。这不但导致测试套件难以维护,而且监视程序执行时间/内存性能等操作无法跨操作系统移植。考虑到这些问题,本系列介绍使用开放源码软件创建高级回归测试框架的方法。本文是 本系列 的第 1 部分,介绍用于 C/C++ 产品的 Boost 单元测试框架。查看本系列更多内容标记本文!发布日期: 2009 年 12 月 ...

2018-03-01 16:32:20 235

转载 ssh进不去问题

排查路径:1、一开始怀疑可能是io阻塞导致,于是使用iostat -xdm 1 100,查看 io状况,发现io不高 2、于是使用top,查看系统负载情况。发现系统负载很高,但是cpu使用率比较低,同时wa也不多,难道是正在执行的进程数很多。3、另起一个窗口 执行 vmstat 1 10 查看系统状态,没有发现异常,于是怀疑是不是进程D状态导致。4、于是free -g 查看内存使用情况,发现fre...

2018-03-01 16:08:43 2203

空空如也

空空如也

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

TA关注的人

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