hello ,我的logger-socket配置如下
collect_log_service_1 = {
host = "127.0.0.1",
port = 6677, --部署时,需要填写logserver服务器port
sock_type = "tcp", --采用tcp传输
flush_limit = 1, --1就是时实传输,
--drop_limit = 5678, --默认1mb 超过会自动删除
timeout = 10000, --超时设置
pool_size = 100 --连接池大小
}
刚刚调试了一下,发现性能提升了不少,是我压测试姿势错了,8G内存,8核 mac os x系统 ,qps 2.9万
请问一下,lua-resty-mysql 有没异步的特性,在insert时,能异步进行吗?
在 2016年12月21日星期三 UTC+8上午11:20:05,mike07026写道:
lua-resty-logger-socket 库,是否每条消息都flush?pool_size 如何设置?
建议先确定哪部分降低了性能,再分析哪里写法不妥了。
1.无log阶段,记录原始qps
2.有log阶段,不调用log、flush等操作,记录qps
2.有log阶段,输出网络日志,stream tcp 接收到消息后不做任何处理(不操作mysql),记录qps
3.完整流程测试(你已做的测试),记录qps
tan winfan於 2016年12月21日星期三 UTC+8上午9時18分38秒寫道:
请问一下doujiang
我昨天实验了一下,通过 log阶段做一个把请求参数日志写入到mysql,我的方法是这样子的,content_by_lua 阶段是“ngx.say(1)没什么逻辑”
我用的resty-logger-socket 这个模块在log阶段把请求参数 把这个消息发给 openresty stream tcp 1234端口,然后我在这个1234端服务 上接收到发过来的消息,直接插入数据mysql,我压测效果 qps 600多个,开了8个进程,lua_cache on 状态,这为什么这么慢,为什么这个tcp 1234端口会影响 整个nginx处理慢呢?
我应该如何优化这个性能呢?采取什么样的措施,除了不写队列的情况下,应该要怎么做,我的mysql insert 语句也简单,就几个字段而以,
我是想用一套nginx来完成这种收集日志,不想采用队列,因为这样还要为队列写一套消费消息处理的程序,