高性能测试工具WRK的高级使用方法

WRKgithub地址:https://github.com/wg/wrk 简介:基于事件机制的高性能http压力测试工具,除了能针对单个url进行测试外,最重要的就是能够构造不同的url,不同的参数进行测试。或者发送携带body的POST请求,在有些场景下不要太帅。说明wrk高级的地方就是使用...

2017-10-27 20:57:33

阅读数 9966

评论数 0

nginx中开启keepalive后应答反而为close的原因

nginx中开启keepalive后应答反而为close的原因 现象和原因采用nginx作为服务器向用户提供查询服务,由于业务原因,只需要应答header就可以,不需要响应body。 在header_filter_by_lua中ngx.header["Content-Length&qu...

2017-10-12 15:50:56

阅读数 3011

评论数 0

探测站点是否正在使用指定的CDN

前言一般来说,CDN厂商都会给客户提供一个接入域名,让客户在域名托管处修改业务域名的CNAME到接入域名就可以实现CDN的启用。 比如:域名未xxxx.yy 那么: 阿里云接入域名为:xxxx.yy.kunlunca.com. 百度云接入域名为:xxxx.yy.bdydns.com. 3...

2017-06-16 18:46:28

阅读数 989

评论数 0

指向指针数组的指针数组-4个*指针

前言C语言中,一般在项目中,指针非常常见,即*p, 表示指向一个变量的地址;也很常见两个指针的变量,即**p , 这表明此指针指向一个元素为指针的数组。 但是在nginx中,有一个指针定义为:void ****conf_ctx 这实际上表示此指针指向一个元素为指...

2017-05-24 11:19:36

阅读数 307

评论数 0

我的VIM配置

近来,键盘敲的手疼,所以贴出VIM配置,看看是什么原因导致的手疼,是键盘太差了,还是vim配置有问题。set nu set ts=4 set expandtab set autoindent set shiftwidth=4set encoding=utf-8 set termencoding=u...

2017-05-23 19:37:05

阅读数 259

评论数 0

nginx的指令开发时变量处理二

前言上一博 nginx指令开发时变量处理一 介绍了一种指令中出现变量的处理方法,今天再介绍一种方法。步骤假设命令如下: my_test_var $arg_channel 意思是:通过url的请求参数中channel来确定做某件事。 模块名为:ngx_http_my_test_var_mo...

2017-05-12 00:19:03

阅读数 209

评论数 0

nginx指令开发时变量处理一

nginx 指令中变量处理指令参数都是常量对于nginx的指令来说,如果指令的参数都是常量,解析这些参数就比较容易了,使用nginx自带的ngx_conf_set_xxx_slot函数,或者自定义解析函数都很容易解析配置。随便举两个例子如下:ngx_conf_set_off_slot ngx_co...

2017-05-11 00:08:38

阅读数 436

评论数 0

开发nginx模块时对普通文件的操作

序言开发nginx http模块时,有时候需要从指定的文件读取信息,这个时候,如果是新手,则肯定用操作系统文件系统函数来操作文件,比如用fopen打开文件,用fseek,fread等读取文件信息,最后用fclose关闭文件。这样操作文件也是可以工作的,但是如果代码中间有return的时候,我们需要...

2017-05-09 21:24:29

阅读数 1258

评论数 0

go-map的并发问题

go 语言的map是引用传递的、如果多个goroutine同时读写,必然导致冲突,所以一般我们在并发操作map的时候,一定要加锁,但是如果map里的value是还是map,那么并发操作这个value- map是不是也一样回引起冲突呢?答案是:是的,go里所有map的并发操作都需要加锁,这样才不会引...

2017-05-08 22:00:36

阅读数 2358

评论数 1

nginx字符串和redis字符串比较

nginx 字符串结构体1、ngx_str_t { u_char *data; size_t len; }redis的字符串结构体struct sdshdr { unsigned int len; unsigned int free; c...

2017-05-07 23:21:39

阅读数 516

评论数 0

抓取taobao的IP库

目的和地理位置相关的应用、和智能调度相关的应用、都离开一个准确的IP库,如果是单个ip库查询,我们可以去ip138或者ip.taobao.com或者ipip.net或者其他站长工具查询,但是需要我们需要一个完整的ip库,则可能需要自己去抓取一份、或者购买商业的ip库。 最近试着用go语言写一份抓...

2017-05-06 23:02:54

阅读数 1137

评论数 0

nginx stream模块初探

前言nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。这完全就是抢HAproxy份额的节奏,鉴于nginx在7层负载均衡和web service上的成功,和nginx良好的框架,stream模块前景一片光明。stream 模块编译stream模块...

2017-05-05 19:38:59

阅读数 35951

评论数 2

程序员的出路在哪

马太效应在程序员的世界里依然奏效、具体就是、越牛逼的程序员越吃香、职位、待遇和机会也越好。至于其他的程序员、请祈祷互联网浪潮持续、不要发生泡沫破灭的危机。程序员的世界里拿到没有办公室斗争?错,严重的错,程序员也是人、也要和别人打交道、程序员中为啥觉得斗争少,其实是因为,程序员可以无节制的换工作,此...

2017-05-04 19:48:24

阅读数 1203

评论数 0

控制远程服务器的工具anyhost

说明如果想同时控制多个远程服务器,又不想安装重量级的puppet,salt等运维级别的工具,可以使用此工具,需要的环境是python2.6和paramiko包。代码位置:https://github.com/zhiyuan2007/anyhost依赖 python 2.6 or higher ...

2017-05-04 16:40:50

阅读数 252

评论数 0

go实现ketama哈希

ketama-hashimplement ketama hash in golangIntroduction闲来无事,用go语言实现ketama思想的一致性哈希,测试服务器节点增加和减少时命中率能有多少。

2017-05-04 13:41:53

阅读数 587

评论数 0

安装go最新版本go1.8

最近想学习下go语言,把安装环境过程记录如下: 假定要把go安装到/home/xxx/golang目录下: 1. 安装go 编译器 cd  /home/xxx/golang 下载:wget https://storage.googleapis.com/golang/go1.4-bootstrap...

2017-03-16 16:04:41

阅读数 7882

评论数 0

openssl源码安装后,编译nginx-1.9.7或者openresty找不到OpenSSL的解决办法

问题:nginx编译找不到openssl 现象:源码安装openssl的目录是/usr/local/ssl/ 就算把/usr/local/ssl/lib 添加到 /etc/ld.so.conf内,并且ldconfig -v,发现nginx编译时依然报找不到openssl的错误,如下 #./c...

2016-12-14 20:02:08

阅读数 6678

评论数 0

编译安装openssl-1.0.2e时遇到的问题的解决办法

openssl1.0.2e动态编译

2016-12-13 23:59:15

阅读数 1411

评论数 0

通过lua-resty-upload实现文件上传的例子

基于openresty的lua-resty-upload实现文件上传的例子

2016-11-14 14:26:23

阅读数 5942

评论数 0

nginx-upload-module文件上传模块问题处理

git地址:git@github.com:vkholodkov/nginx-upload-module.git 下载地址:https://github.com/vkholodkov/nginx-upload-module/archive/2.2.0.tar.gz 编译问题: 错误:‘ngx_h...

2016-10-26 16:42:50

阅读数 2879

评论数 1

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