美文网首页程序员
pyc文件生成错误(2019-01)

pyc文件生成错误(2019-01)

作者: 祖传编程 | 来源:发表于2019-10-08 20:23 被阅读0次

    线上突然出问题,访问全部报错。

    定位过程:

    1.看日志很奇怪,全部是import error,但是包全部安装了。

    2.看监控及机器异常,看到文件句柄有突增

    3.访问量突增,导致进程数变多,加载文件变多。然后看一下pyc文件,发现都非常小。生成的pyc文件有问题。

    pyc.error是备份的错误文件。

    原因:

    编译器在读一个.py文件时,一旦遇到I/O异常,会得到一个EOF的标志,然后以它所读取的内容编译生成.pyc文件,但这个过程并没有检查I/O异常

    。这个问题python3中做了修复,但是python2还是有可能有问题。I/O异常是因为突然访问量增加,瞬间启动了很多进程,虚拟机资源不够用。

    参考https://bugs.python.org/issue25083

    修复:

    1.不生成pyc文件,sys.dont_write_bytecode = True;

    测试了一下,内部系统这个速度基本没影响

    2.限制住启动进程个数;之前没做限制,没想到被人扫了

    3.限流,接入层做限流

    相关文章

      网友评论

        本文标题:pyc文件生成错误(2019-01)

        本文链接:https://www.haomeiwen.com/subject/micvpctx.html