阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

记一次系统性能bug排查2017-11-23 17:34

在客户的环境中,我们的代码表现为twisted封装的http接口处理web请求忽快忽慢。客户反映一个页面上有获取绘图数据的请求,一页在一个屏幕上大概显示九个图,每次打开页面总有几个图一直在加载,刷新页面后之前没加载出来的出来了但是其他原本正常的又变成加载中了,而且要很慢才会返回结果,其他接口也类似这种情况,但是没有大的并发量也没有太大的数据量的环境莫名其妙的运行了几天就变成这样了。

项目是起了twistd三个进程分别跑在`127.0.0.1:8001`, `127.0.0.1:8002`, `127.0.0.1:8003`,然后用nginx代理的,查看nginx的log,可以看到很多

......
#Python#   评论[1]阅读全文[87]

[转]Linux 技巧:让进程在后台可靠运行的几种方法2017-11-21 19:34

原文地址:

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

#### nohup/setsid/&

**场景:**

如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?

hangup 名称的来由

在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,mod

......
#Linux/Mac#   评论[0]阅读全文[161]

Flask中日志按照日志级别分开保存到不同文件2017-11-21 19:17

目标是想让代码中的日志按照不同的级别保存到不同的文件,即不管是框架本身的debug日志还是我们自己写的debug日志都保存到debug.log,info日志都保存在info.log,以此类推。

如果是为不同级别设置不同的logger,每个logger对应不同的文件handler,然后封装自己的日志函数调用对应的logger来记录日志确实是可以记录到不同的文件,但是这样只能记录自己代码中打的log而不会记录flask框架打印的log,因为框架使用的logger名称和我们使用的logger不一样,要达到我们的目标不能在logger上做处理,应该对和框架同一个logger上的handler做处

......
#Python#   #flask 评论[0]阅读全文[179]