由 James Qi, 2015年10月26日 在阿里云RDS数据库服务器中将MySQL InnoDB引擎表转为压缩格式 今年以来将我们以前托管或者租用的服务器全面转向阿里云,除了采用ECS服务器以外,还有一项重要的是采用了RDS数据库服务器,这对于服务的稳定性、各项指标的监控、调优等都有帮助。 不过随着近期更多数据
由 James Qi, 2015年10月26日 2015年衡水马拉松纪实 今年下半年本来准备报太原马拉松顺便去山西看看的,但太原马拉松迟迟不开始报名而且距离回国的时间也太短,当时看到衡水马拉松可以报名了就马上报了,以前曾经在央视看过衡水湖马拉松的直播,感觉湖边风景很不错,赛事的水平也高。 回国后才开始订车票、酒店,又赶上比赛日是中秋节前一天,所以车票很不好定,只有预定返程经过石家庄中转的车票,起点附近的酒店也订完了,就预定火车站旁边的。 然后的准备工作也不太充足,回国后工作上积压的事情也多,还与劲捷公司同事一起到云南丽江大理旅游了一趟,就这样上场吧。在去的火车上临时在微信群、QQ群里面询问,居然也找到有武汉的
由 James Qi, 2015年10月4日 2015年Oak Brook半程马拉松纪实 前两年家人就说要利用暑假一起去美国旅游,但因为各种事情没有成行,今年又提上议事日程,不过也是到6月份才开始办理赴美旅游签证,去北京面签还算顺利,有十年多次往返的便利。然后就是购机票,等儿子放假后一起从上海出发飞美国芝加哥。 刚去芝加哥住在附近的Naperville亲戚家,每天早上起来可以去附近跑跑步,感觉这里与德国或者说欧洲很相似,风景和空气非常好,人少。因为在美国预计要待的时间比较长,可以找个机会参加这边的跑步赛事活动,在网上找了一下,9月初的Oak Brook半程马拉松最合适了,距离住处不远,美国熟人也推荐这里环境佳。于是在网上报了名,报名费连同手续费、捐
由 James Qi, 2015年8月4日 Drupal网站模板中加入php程序比较Google和百度的广告及统计 前段时间准备把百度广告管家的代码改为百度联盟的代码,顺便还想再比较一下百度、Google广告的一些数据,现在对Drupal模板、PHP程序比较熟悉了,所以采取在模板中嵌入PHP程序来随机出现Google/百度相关代码就很容易实现。 <?php $number_rand = rand(0,1);//0:google,1:baidu if ($number_rand == 0) { $ad1 = '<script async src="//pagead2.googlesyndication.com/pagea
由 James Qi, 2015年7月21日 用Drush批量升级Drupal 6到Drupal 7 我们是2010年底开始使用Drupal的,当时Drupal 7还没正式版,所以就用了Drupal 6,在2012年2月的时候就以本博客为例做过Drupal 6到Drupal 7的升级,虽然有些麻烦但好歹算是可以升级成功,而涉及到大数据量Drupal的站点升级却让我吃到苦头,后来新站都用Drupal 7搭建,而Drupal 6的一些网站也就继续停留在Drupal 6,只进行小版本升级,不敢轻易进行大版本的升级。 最近由于在转云服务器,就想一并做Drupal大版本升级,把现在支持越来越少的Drupal 6升级到目前主流的Drupal 7,Drupal 8因为还没有
由 James Qi, 2015年7月20日 Drupal 6数据库MyISAM转InnoDB后性能下降打补丁 周末把云数据库RDS进行了配置升级,上面的一些站点数据表从MyISAM转为了InnoDB,今天早上来发现IOPS异常升高,网站打开困难,查看实时实例会话,发现有很多这样的语句堆积: SELECT COUNT(pid) FROM url_alias 在Google中搜索了一下,这篇文章说明很多人也遇到过这种问题COUNT(*) is an expensive query in InnoDB.,Drupal 6默认的数据库表引擎是MyISAM,上面那句统计数量的查询语句瞬间可以执行完,但对InnoDB引擎来说需要全表扫描来获得统计数
由 James Qi, 2015年7月18日 树莓派Raspberry Pi上手做内部小型服务器 以前就听说过一些超微型PC可以做一些控制用,类似我上大学时的单片机,只是功能、性能要大幅提升,而且兼容PC,可用软件也多得多,不仅仅只是用于电子控制设备上。 不过以前也一直没有实际玩,前一阵子因为考虑定期下载云服务器上的备份内容
由 James Qi, 2015年7月12日 试用阿里云RDS的MySQL压缩存储引擎TokuDB 以前就用过自己搭建MySQL服务器的两种存储引擎MyISAM和InnoDB(也用过一点Memory方式),在今年初转向阿里云关系型数据库服务RDS的时候,看到可调参数中有一个TokuDB,不过不太了解也没有管。 最近同事转给我阿里云介绍TokuDB的文章,其中压缩存储的特性对我们来说很有吸引力,因为我们的数据库一般都偏大,已经转到阿里云的就有几百个GB了,加上以后要转的肯定是TB数量级的,而且目前还是用的MyISAM,如果用InnoDB的话,那还要扩大数倍,仅仅是存储的费用就让人难以承受。但MyISAM存在表容易损坏的问题,往后用的人越来越少,Drupal 7
由 James Qi, 2015年7月12日 循环检测MySQL语句执行时间 最近在转移网站到阿里云RDS数据库服务器的时候遇到一些负载瓶颈方面的问题,需要在调整MySQL参数、修改Drupal设置、添加索引等工作的时候,查看某些MySQL语句执行时间的变化,所以搞了一个很小的PHP程序来循环检测: <?php ini_set('display_errors', 'On'); error_reporting(E_ALL); $serverName = 'xxx.mysql.rds.aliyuncs.com'; $userName = 'un'; $p
由 James Qi, 2015年7月10日 Drupal 7 Ubercart在MySQL 5.6中需要使用InnoDB引擎 以前使用的MySQL存储引擎考虑到用多块硬盘放置各个库以便分散负载都是固定为MyISAM,现在搬迁到阿里云RDS后,考虑到查询效率及空间大小也保持继续用MyISAM。不过今天同事发现一个销售数据的网站在购物车结算的时候报错: PDOException: SQLSTATE[HY000]: General error: 1785 When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommit