摘要: incr没有初始值设置会失败 incr 不改变变量的过期时间 阅读全文
posted @ 2023-12-23 17:05 抟九 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 最近一直在做openresty相关开发,使用lua优化,优化了几次,发现最大的优化是table的优化。 table优化的大原则是尽量少创建表,表创建多了毕竟耗性能。这里的创建,指新创建和扩表引起的创建。在往table插入数据的过程中,如果table不够用,会扩大两倍,所以,一个1030项数据,会经过 阅读全文
posted @ 2021-01-10 21:27 抟九 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 什么是LuaJIT 标准 Lua 出于性能考虑,也内置了虚拟机,所以 Lua 代码并不是直接被解释执行的,而是先由 Lua 编译器编译为字节码(Byte Code),然后再由 Lua 虚拟机执行。 LuaJIT 的解释器会在执行字节码的同时,记录一些运行时的统计信息,比如每个 Lua 函数调用入口的 阅读全文
posted @ 2020-04-28 09:00 抟九 阅读(1024) 评论(1) 推荐(0) 编辑
摘要: lua resty core 是把 lua nginx module 已有的部分 API,使用 FFI 的模式重新实现了一遍。 使用FFI实现的代码更为简洁易懂,而且因为可以被JIT追踪和优化,性能更高。 启动lua resty core的方式也很简单,只需要在 init_by_lua 阶段,增加一 阅读全文
posted @ 2020-04-27 20:48 抟九 阅读(1838) 评论(0) 推荐(0) 编辑
摘要: 最近遇到两个编译问题,着实费了一番功夫。 container_of 问题 我在一个地方,定义了container_of的宏,却屡次出现编译错误 宏定义如下: 报错如下: 一开始谷歌连不上,用百度查出来的资料都是说.h文件包含有问题,不过我仔细检查了我的文件包含,并没有问题。 后来谷歌可以了,搜索后在 阅读全文
posted @ 2020-04-21 00:11 抟九 阅读(1151) 评论(0) 推荐(0) 编辑
摘要: nc是很好用的命令,可以用来模拟http请求 这样,就能模拟http请求,向www.test.com的80端口请求,比较要注意的是\r\n和\r\n\r\n的使用 阅读全文
posted @ 2019-11-18 20:57 抟九 阅读(3188) 评论(0) 推荐(0) 编辑
摘要: wrk的源码在github上,地址是https://github.com/wg/wrk.git,下载之后解压,在其目录下运行make命令安装,之后可直接使用 wrk参数: 结果 运行示例: wrk 还支持使用 H “key:value"的方式指定头部,所以测试些默认是开启长连接的服务器时,我们可以通 阅读全文
posted @ 2019-11-17 22:43 抟九 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 在开发中,coredump会输出珍贵的调试信息,但在linux下默认是关闭的,所以,要手动去把它打开。 执行以下脚本,退出后重新登录即可,重新登录后执行ulimit c,如果出来的是unlimited,就是已经打开了,且不限制coredump生成的core文件大小 阅读全文
posted @ 2019-08-05 23:02 抟九 阅读(7647) 评论(0) 推荐(0) 编辑
摘要: NGX_HTTP_POST_READ_PHASE 在接收到完整的HTTP头部后处理的HTTP阶段 NGX_HTTP_SERVER_REWRITE_PHASE 在将请求的URI与location表达式匹配前,修改请求的URI NGX_HTTP_FIND_CONFIG_PHASE 根据请求URI寻找匹配 阅读全文
posted @ 2019-07-28 22:21 抟九 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 今天发现进程一直被杀掉,几经排查,最后确认是被oom killer杀掉了。 在内核检测到系统内存不足后,会触发oom killer,挑选最占用内存的进程杀掉。 Linux 分配内存策略 Linux内核根据应用程序的要求来分配内存,由于进程实际上并不会将分配的内存全部使用,所以,为了提高性能,内核采用 阅读全文
posted @ 2019-06-07 11:49 抟九 阅读(4340) 评论(0) 推荐(0) 编辑