![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
互联网相关
砖头他爸
这个作者很懒,什么都没留下…
展开
-
解读 nginx 中 chain 和 buf
在写 nginx 的 filter 模块时候需要比较深入去了解chain 和 buf的一些细节以及数据流处理过程。就结构而言,这两个结构不算复杂struct ngx_chain_s { ngx_buf_t *buf; ngx_chain_t *next;}; struct ngx_buf_s { u_char转载 2014-09-04 14:51:55 · 645 阅读 · 0 评论 -
linux下ab网站压力测试命令
ab网站压力测试命令的参数、输出结果的中文注解以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。格式: ./ab [options] [http://]hostname[:port]/path参数:-n requests Number o转载 2015-05-05 12:49:33 · 648 阅读 · 0 评论 -
PHP CURL curl_setopt 参数
PHP CURL curl_setopt 参数bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定): ? CURLOPT_IN转载 2015-05-12 17:04:08 · 485 阅读 · 0 评论 -
php pack()函数详解与示例
pack和unpack在一般的程序中还真的不容易见到,但是如果你用过很久以前的php生成excel你就会知道了。他的excel的头就是pack出来的最近在尝试与C交互的时候又用上了这玩意,所以不得不再看看。其实就是C要求我一定要有包头。。。其实纯字符串也不错嘛。干嘛非得搞个包头呢?真纠结 .。手册上有pack与unpack的介绍,但都是英文的。。。 任何一款拥有sock转载 2015-05-12 17:00:03 · 598 阅读 · 0 评论 -
libevent的使用
这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,转载 2015-04-28 12:21:14 · 428 阅读 · 0 评论 -
解决close_wait与time_wait
昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp转载 2015-04-24 11:53:05 · 493 阅读 · 0 评论 -
TCP状态转换图
注:主动、被动 与 服务器、客户端没有明确的对应关系。这个图N多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻 的认识,不能只停留在一知半解之中。下面对这张图的11种状态详细解析一下,以便加强记忆!不过在这之前,先回顾一下TCP建立连接的三次握手过程,以及 关闭连接的四次握手过程。1、建立连接转载 2015-04-24 11:48:08 · 622 阅读 · 0 评论 -
thrift框架 序列化及反序列化解析
本文炒冷饭.说实话,一直挺看好Thrift,支持的语言又多,代码写的有很清晰,效率又不低,为啥研究Protocol Buffer的人那么多.不管那么多了....Thrift中的对象序列化是我很看好的东西,他用compiler+类库,让你高效的完成任务,而且可以少犯错误.试想,有谁可以保证自己设计的对象,不会再改变呢?数据库的schema改了,你可以改改查询语句,但是如果你对象改了,之前序列转载 2015-04-07 16:20:58 · 1446 阅读 · 0 评论 -
使用 Google gflags 简化命令行参数处理
(本文章仅适用于C++程序)写服务程序时,如果需要提供命令行参数。传统的方法是手工解析argv参数,或者使用getopt函数。两种方法都比较费劲。使用Google gflags可以大大简化命令行参数处理。安装gflag从官方地址http://code.google.com/p/google-gflags/下载gflags并安装。比如我下载的是1.5版本。[yichi@y转载 2015-04-22 14:22:53 · 737 阅读 · 0 评论 -
google log的使用
log是Google维护的一个开源的C++ log库,使用Free BSC licenseglog官方地址:https://code.google.com/p/google-glog/glog作用:日志库安装方法./configuremakemake installHello worldfoo_1.cpp[转载 2015-04-22 14:06:26 · 2109 阅读 · 0 评论 -
thrift C++做server, C++,python, java做Client例子
一、安装我机器上已经安装好了 thrift-0.9.1二、示例编辑demo.thrift文件,内容如下:struct UserProfile{ 1:i32 id, //注意这里是逗号,而不是分号 2:string name, 3:string blurb} //这里没有分号 servi转载 2015-03-26 13:58:32 · 956 阅读 · 0 评论 -
ngx_http_upstream_keepalive_module原理分析
我们知道针对后端的keepalive是通过nginx.conf配置文件来指定的,例如 upstream resins{ server 61.135.250.217:6800; keepalive 1024; } nginx在读取配置文件的时候,就会执行指令相应的函数,查看ngx_http_upstream_kee转载 2015-01-25 22:41:04 · 624 阅读 · 0 评论 -
nginx对keepalive和pipeline请求处理分析
原创文章,转载请注明: 转载自pagefault本文链接地址: nginx对keepalive和pipeline请求处理分析这次主要来看nginx中对keepalive和pipeline的处理,这里概念就不用介绍了。直接来看nginx是如何来做的。首先来看keepalive的处理。我们知道http 1.1中keepalive是默认的,除非客户端显式的指定connect头转载 2015-01-29 11:06:36 · 934 阅读 · 0 评论 -
python调用shell命令
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1. os 模块1.1. os模块的exec方法族Python的exec系统方法同Unix的exec系统调用是一致的。这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的转载 2014-10-30 11:41:48 · 521 阅读 · 0 评论 -
nginx memcached模块解析
主要介绍了nginx的memcached模块,及其源码解析。原创 2014-09-15 16:28:18 · 1513 阅读 · 0 评论 -
nginx upstream使用及源码解析
讲述了nginx的upstream机制,并分析了其相关实现源代码。原创 2014-09-26 14:42:04 · 2783 阅读 · 0 评论 -
Memcache是什么
Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。Memcache官方网站:http转载 2014-09-09 10:48:12 · 486 阅读 · 0 评论 -
高性能Web服务器Nginx的配置与部署研究(11)应用模块之Memcached模块的两大应用场景
本文来自:CSDN博客专栏《Nginx高性能Web服务器》 及Poechant技术博客,转载请注明出处。一、应用场景1(转载请注明:http://blog.csdn.net/poechant/article/details/7176921)最近在一个项目中,用到了Nginx的Memcached模块,所以就在这个系列教程中提前把Memcached模块拿出来写了。另外发现最近我转载 2014-09-05 18:05:02 · 619 阅读 · 0 评论 -
分布式应用程序架构
这是一个分布式应用程序架构的草图。仅作为Ice学习的一点小结。1)Client指的是我们通常意义上的客户端。比如在一个网页游戏中,它可以是以flash实现的网页客户端。2)GateWay指的是服务器端的通信模块(NetService)。它负责与客户端进行通信,同时它会在RegisterNode中读取相应的LogicServer注册表信息,继而将请求送达相应的逻辑层服务器转载 2015-05-05 09:51:24 · 717 阅读 · 0 评论