9月 23

python到mysql 2006问题解决

  tornado和Django框架都是使用MySQLdb,在长时间不与数据库有交互,如采集、SQL运行数据过大而数据库等待时间过短等,这时会报“Error 2006: MySQL Server has gone away”错误。收集了网上的三个解决方案是,
  一、修改数据库的参数wait_timeout,interactive_timeout到2880000,
  二、在每次连接时做判断,如果报错将再连接一次(http://xulizhao.com/blog/python_db)。

  三、定时进行连接,以防断开

我的测试,第一种方法比较好用,但是在某些情况下会造成其它问题。第三种效果不理想,需要继续研究。第二种正在试验中。

5月 29

post数据到golang服务和python的pypy服务后数据入库库效率测试

  在测试go语言和pypy接收post参数后,数据入库的效率。服务器使用阿里云的基础服务器,512内存单核CentOS6.3 64位服务器。测试还有上传文件部分。此处只列出了部分代码。
  python使用tornado在pypy1.9环境,python代码没有列出。
  go语言代码如下。数据库配置部分写成可以全局调用的。

  测试结果:单进程情况下,go语言的速度比pypy的稍慢,基本持平相差不到5%。但是go使用内存量占到45%,cpu使用8%左右。pypy使用内存20%,cpu使用在5%左右。如果多进程pypy可以启动4个,go只能启动两个。这样pypy比go的处理速去应该快一倍多。java代码也有测试,使用tomcat7,因为逻辑更复杂,所以不能参加对比,粗略估计go会比java快40%。
测试代码

4月 18

监控mysql从机同步状态脚本

  mysql数据库主从运行。为了知道从机的同步情况,写了个脚本,放在crontab中,如果同步出错,则邮件报警。去年写的,放上来做个备忘。

12月 09

raspberry pi安装 java mysql tomcat

  raspberry pi安装 java mysql tomcat。开始用oracle通的arm进行安装但是遇到了问题没有成功。后来还是采用apt-get安装,还是非常简单
$ sudo apt-get install openjdk-7-jdk mysql

版本如下:
Server version: 5.5.28-1 (Debian)
java version “1.7.0_07”

  tomcat也能直接安装,但是出于需要,还是直接到apache上下载。解压,默认配置启动。能看到可爱的小猫了。

rp tomcat

raspberry pi 安装tomcat

  查看配置源
$ vim /etc/apt/sources.list

  通过到源上查看haproxy、nginx、apache2、squid、tomcat7、cacti、nagios、snmp、redis、rsync、samba、python、php、lua、node.js等应有尽有,直接用工具安装非常方便。以后不再用考虑环境准备工作了。下一步开始准备做点实用的东西。

  对于要用桌面系统要还需要安装字体等
中文字体
$ sudo apt-get install ttf-wqy-microhei
输入法
$ sudo apt-get install scim scim-pinyin
音频驱动:
$ sudo apt-get install alsa-utils

9月 08

go语言连接mysql成功

  go语言取mysql数据。之前的测试并没有成功,也没有找到原因,但是今天编译了一下又成功了,具体修改了哪里我也忘了。赶紧做个记录。敏感信息已经隐藏

  获得go语言的mysql驱动
go get code.google.com/p/go-mysql-driver/mysql
也可以
驱动安装
go get github.com/go-sql-driver/mysql
go install github.com/go-sql-driver/mysql

2013-5-27修正:该mysql驱动被移到git以后使用“$ go get github.com/go-sql-driver/mysql”
项目里调用为“import _ “github.com/go-sql-driver/mysql””

源码如下:

运行结果