luajit

Nginx 一个牛 X 的功能,流量拷贝!

…衆ロ難τιáo~ 提交于 2020-07-27 22:00:16
1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能; 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问; 这跟灰度发布还不太一样,镜像流量不会影响真实流量; 可以用来排查线上问题; 重构,假如服务做了重构,这也是一种测试方式; 为了实现流量拷贝,Nginx提供了 ngx_http_mirror_module 模块 2. 安装Nginx 首页,设置yum仓库。为此,创建一个文件/etc/yum.repos.d/nginx.repo 将以下内容写入文件 [nginx- stable] name = nginx stable repo baseurl =http: // nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled =1 gpgkey =https: // nginx.org/keys/nginx_signing.key module_hotfixes= true ​ [nginx - mainline] name = nginx mainline repo baseurl =http: // nginx.org/packages/mainline/centos/$releasever/$basearch/

node和wasm算法性能对比

我只是一个虾纸丫 提交于 2020-03-25 17:19:13
3 月,跳不动了?>>> 基准环境 : node 11开启了wasm 的opt优化选项, c编译器开启O3 优化。 是否完成 花费时间(ms) wasm y 1990 asm.js y 2600 node.js y 2900 luajit y 4500 lua5.2 y 34000 c/c++未开启优化 y 2600 c/c++开启优化 y 200 actionscript n 超时无法完成, 数据量级缩小50倍-4000ms actionscript 无疑是垫底的存在。 node的性能很好。 来源: oschina 链接: https://my.oschina.net/u/2633213/blog/2996745

用好Lua+Unity,让万金6.0平台搭建性能飞起来——Lua与C#交互篇

谁说我不能喝 提交于 2020-03-24 12:22:13
前言万金6.0平台搭建论坛:haozbbs.com Q1446595067 在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很多。 因此,这篇文章是从一堆简单的优化建议里头,逐步挖掘出背后的原因。只有理解了原因,才能很清楚自己做的优化,到底是为了什么,有多大的效果。 从最早的lua纯反射调用c#,以及云风团队尝试的纯c#实现的lua虚拟机,一直发展到现在的各种luajit+c#静态lua导出方案,lua+unity才算达到了性能上实用的级别。 但即使这样,实际使用中我们会发现,比起cocos2dx时代luajit的发扬光大,现在lua+unity的性能依然存在着相当的瓶颈。仅从《性能比较》的test1就可以看到,iphone4s下二十万次position赋值就已经需要3000ms,如果是coc这样类型的游戏,不处理其他逻辑,一帧仅仅上千次位置赋值(比如数百的单位、特效和血条)就需要15ms,这显然有些偏高。 是什么导致lua

Lua加密

自闭症网瘾萝莉.ら 提交于 2020-02-12 02:49:59
两种方式:一种用luac,一种用luajit luac加密: 1、lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,去官网下载Lua源代码包(http://www.lua.org/ftp/),下好解压,目录如下 2、启动一个Visual Studio 命令行工具,用32位命令行会生成32位版本,用64位则生成64位版本 3、在命令行中使用cd 进入lua目录(刚才解压后的目录),然后输入 "etc\luavs.bat" 回车 4、如果没有问题的话,会显示生成过程,(64位下还会有几个warning C4334)、完成后会在src目录下找到生成结果,4个主要文件一个.exp的中间文件,luac.exe生成完毕, 然后把luac.exe所在存在的目录设为环境变量,如果不设置的话,那么执行生成字节码的dos命令的时候就要转到luac.exe所在的目录才能执行此dos命令了,都懂得,不多说 5、(1)、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件 (2)、开始--运行--cmd (3)、luac -o out.lua 1.lua 注: luac - o [编译后脚本名] [脚本名],必要时带上脚本路径,如: 然后实验一下,执行这个字节码脚本

OpenResty学习指南(一)

做~自己de王妃 提交于 2020-02-06 00:09:19
我的博客: https://www.luozhiyun.com/archives/217 想要学好 OpenResty,你必须理解下面 8 个重点: 同步非阻塞的编程模式; 不同阶段的作用; LuaJIT 和 Lua 的不同之处; OpenResty API 和周边库; 协程和 cosocket; 单元测试框架和性能测试工具; 火焰图和周边工具链; 性能优化。 你不应该使用任何 Lua 世界的库来解决上述问题,而是应该使用 cosocket 的 lua-resty-* 库。Lua 世界的库很可能会带来阻塞,让原本高性能的服务,直接下降几个数量级。 OpenResty阶段 和nginx一样,都有阶段的概念,并且每个阶段都有自己不同的作用: set_by_lua,用于设置变量; rewrite_by_lua,用于转发、重定向等; access_by_lua,用于准入、权限等; content_by_lua,用于生成返回内容; header_filter_by_lua,用于应答头过滤处理; body_filter_by_lua,用于应答体过滤处理; log_by_lua,用于日志记录。 OpenResty 的 API 是有阶段使用限制的。每一个 API 都有一个与之对应的使用阶段列表,如果你超范围使用就会报错。 具体的API可以查阅文档: https://github.com

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open

亡梦爱人 提交于 2020-01-19 13:38:37
centos 6 7 检测配置文件 /usr/local/nginx/sbin/nginx -t 出现以下错误: /usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory 解决方案: yum -y install lua* centos7 可能会不生效报以下错。 1 下载安装LuaJIT [root@iZuf6679bcuj0vciz1vaicZ mysql3306]# cd /usr/local/src [root@iZuf6679bcuj0vciz1vaicZ src]# wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz [root@iZuf6679bcuj0vciz1vaicZ src]# tar -xvf LuaJIT-2.0.5.tar.gz [root@iZuf6679bcuj0vciz1vaicZ src]# cd LuaJIT-2.0.5 [root@iZuf6679bcuj0vciz1vaicZ LuaJIT-2.0.5]# make && make install 重新检测,成功。

Nginx + Lua 搭建网站WAF防火墙

心已入冬 提交于 2020-01-13 12:47:07
前言 对于项目里面 只是使用代理等常用功能 , 在线安装 即可,如需 制定化模块 ,则推荐 编译安装 PS:本文不仅仅包含Nginx相关的知识点,还包含了逆天学习方法(对待新事物的处理) 官方网站: https://nginx.org/ Github: https://github.com/nginx/nginx Nginx书籍 : Nginx Cookbook 中文版 https://huliuqing.gitbooks.io/complete-nginx-cookbook-zh/content/ Nginx官方中文文档 https://docshome.gitbooks.io/nginx-docs/content/ Nginx入门教程 https://xuexb.github.io/learn-nginx/ 淘宝Nginx文档 http://tengine.taobao.org/book/ 1.在线安装 1.1.修改yum源地址 清华源: https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 更新软件包缓存: yum makecache 1.2.在线安装Nginx 在线安装比较简单,参考官方文档即可: https://nginx.org/en/linux_packages.html PS:线上选 stable 的就行了,记得把

sysbench 压力测试

本小妞迷上赌 提交于 2020-01-07 19:45:29
sysbench支持以下几种测试模式: 1、CPU运算性能 2、磁盘IO性能 3、调度程序性能 4、内存分配及传输速度 5、POSIX线程性能 6、数据库性能(OLTP基准测试) sysbench版本: [root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench --version sysbench 1.1.0 CPU测试: [root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench cpu --cpu-max-prime=10000 run sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3) Running the test with following options: Number of threads: 1 Initializing random number generator from current time Prime numbers limit: 10000 Initializing worker threads... Threads started! CPU speed: events per second: 658.31 Throughput: events/s (eps): 658.3125 time

LuaJIT, how to convert cdata to userdata?

不打扰是莪最后的温柔 提交于 2020-01-04 14:09:03
问题 I want to use LuaJIT for its ability to create structs and arrays in Lua. But my functions which use the data require userdata or a string (not a string representation, just used as a container) that stores the data. But looking through the api I don't see if this is even possible. Is it? Thanks. 回答1: LuaJIT FFI should not be mixed with classic C/API. While there are mechanisms to convert a const char* pointer to Lua string ( ffi.string ), there is no way to convert an FFI struct to Lua

LuaJit FFI Return string from C function to Lua?

廉价感情. 提交于 2020-01-04 05:20:34
问题 Say I have this C function: __declspec(dllexport) const char* GetStr() { static char buff[32] // Fill the buffer with some string here return buff; } And this simple Lua module: local mymodule = {} local ffi = require("ffi") ffi.cdef[[ const char* GetStr(); ]] function mymodule.get_str() return ffi.C.GetStr() end return mymodule How can I get the returned string from the C function as a Lua string here: local mymodule = require "mymodule" print(mymodule.get_str()) 回答1: The ffi.string function