By James Qi, 2015年10月26日 在阿裡雲RDS數據庫服務器中将MySQL InnoDB引擎表轉為壓縮格式 今年以來将我們以前托管或者租用的服務器全面轉向阿裡雲,除了采用ECS服務器以外,還有一項重要的是采用了RDS數據庫服務器,這對于服務的穩定性、各項指标的監控、調優等都有幫助。 不過随着近期更多數據
By James Qi, 2015年10月26日 2015年衡水馬拉松紀實 今年下半年本來準備報太原馬拉松順便去山西看看的,但太原馬拉松遲遲不開始報名而且距離回國的時間也太短,當時看到衡水馬拉松可以報名了就馬上報了,以前曾經在央視看過衡水湖馬拉松的直播,感覺湖邊風景很不錯,賽事的水平也高。 回國後才開始訂車票、酒店,又趕上比賽日是中秋節前一天,所以車票很不好定,隻有預定返程經過石家莊中轉的車票,起點附近的酒店也訂完了,就預定火車站旁邊的。 然後的準備工作也不太充足,回國後工作上積壓的事情也多,還與勁捷公司同事一起到雲南麗江大理旅遊了一趟,就這樣上場吧。在去的火車上臨時在微信群、QQ群裡面詢問,居然也找到有武漢的
By James Qi, 2015年10月4日 2015年Oak Brook半程馬拉松紀實 前兩年家人就說要利用暑假一起去美國旅遊,但因為各種事情沒有成行,今年又提上議事日程,不過也是到6月份才開始辦理赴美旅遊簽證,去北京面簽還算順利,有十年多次往返的便利。然後就是購機票,等兒子放假後一起從上海出發飛美國芝加哥。 剛去芝加哥住在附近的Naperville親戚家,每天早上起來可以去附近跑跑步,感覺這裡與德國或者說歐洲很相似,風景和空氣非常好,人少。因為在美國預計要待的時間比較長,可以找個機會參加這邊的跑步賽事活動,在網上找了一下,9月初的Oak Brook半程馬拉松最合适了,距離住處不遠,美國熟人也推薦這裡環境佳。于是在網上報了名,報名費連同手續費、捐
By 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
By 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因為還沒有
By 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引擎來說需要全表掃描來獲得統計數
By James Qi, 2015年7月18日 樹莓派Raspberry Pi上手做内部小型服務器 以前就聽說過一些超微型PC可以做一些控制用,類似我上大學時的單片機,隻是功能、性能要大幅提升,而且兼容PC,可用軟件也多得多,不僅僅隻是用于電子控制設備上。 不過以前也一直沒有實際玩,前一陣子因為考慮定期下載雲服務器上的備份内容
By James Qi, 2015年7月12日 試用阿裡雲RDS的MySQL壓縮存儲引擎TokuDB 以前就用過自己搭建MySQL服務器的兩種存儲引擎MyISAM和InnoDB(也用過一點Memory方式),在今年初轉向阿裡雲關系型數據庫服務RDS的時候,看到可調參數中有一個TokuDB,不過不太了解也沒有管。 最近同事轉給我阿裡雲介紹TokuDB的文章,其中壓縮存儲的特性對我們來說很有吸引力,因為我們的數據庫一般都偏大,已經轉到阿裡雲的就有幾百個GB了,加上以後要轉的肯定是TB數量級的,而且目前還是用的MyISAM,如果用InnoDB的話,那還要擴大數倍,僅僅是存儲的費用就讓人難以承受。但MyISAM存在表容易損壞的問題,往後用的人越來越少,Drupal 7
By 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
By 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