谨防猴子补丁以及Python中排查技巧

2019-09-22
阅读 8 分钟
4.3k
前两天晚上线上系统突发故障,在立马打开线上错误日志之后,却只能得到一堆毫无意义的程序调用栈(traceback)的输出,于是团队成员陷入漫长而又抓瞎的问题排查过程中。问题很幸运地得到了解决,但是我一直想不明白为什么日志里打印的调用栈毫无意义,按照经验,它应该打印的是异常产生过程中的调用栈才是。在经过后续的源...

pymysql 开启调试模式

2019-08-18
阅读 1 分钟
5.4k
今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调试模式,是的话,会将当前连接的操作以及报文内容都打印到控制台。

django 快速启动数据库客户端程序

2019-08-15
阅读 2 分钟
2k
实际工作经历中,免不了有时候需要连接数据库进行问题排查分析的场景,之前一直习惯通过 mysql -uxxx -hxxxx -P1234 ... 这样的方式来启动命令行形式的 MySQL 数据库客户端程序,只是用起来比较麻烦,每次都要拷贝各个配置参数,还要记得不要在命令里显式打印密码。后来想起来在开发 Ruby on Rails 程序的时候,其提供了...

不严谨的不同语言下大 Excel 文件写入的性能比较

2019-03-23
阅读 1 分钟
4.7k
去年因为线上系统需要导出大量数据(大概是 11 万行)到 Excel,代码是 Python 2.7 写的,除去数据库查询耗时,整个的 Excel 文件生成也还要耗费几十秒的时间,这听起来真是一个非常夸张的事情。后来为其更换了号称性能表现最好的 pyexcelerate 库,性能确实有提升,但是仍是差强人意的在小几十秒。