2017年5月4日星期四

MySQL 很慢,為何?

上年編寫了一個PHP+MYSQL的網頁,當中一些SQL statement的行算較多。結果每次運算大約5秒左右才完成。後來更換了性能更高的server,但運算變得更慢,每每超過10秒。後來改用了SSD,變成7秒左右。試過修改MYSQL的setting,如加大buffer、memory等參數但都沒有改進。 早幾天更換了一台新NAS作web server,發現運行得更慢,大約15秒才完成。結果無意中在轉載database的檔案中發現,不知為何某些table用了MyISAM作engine,某些table用InnoDB作engine。由於那台新NAS並沒有啟動InnoDB engine,於是我把那些用InnoDB的table轉用MyISAM。運行結果變成不用1秒鐘,我把原先的server也這樣修改,結果也是不用1秒就完成。 如要檢查table現時所用的engine,可以用以下SQL statement; SELECT `ENGINE` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA`='your_database_name' AND `TABLE_NAME`='your_table_name'; 如要更變,可以用以下SQL statement; ALTER TABLE 'your_table_name' ENGINE = InnoDB;

2015年11月21日星期六

ASUS 三頻 Wireless-AC3200 分享器評測

上年幫朋友換了一台AC router,上月她來找我。說希望換一台新router,原因是較遠的房間接收比較差。對她來說,功能、款式、價錢都不重要。能上網才是重點呢。

於是上網找了幾天資料,做了一些產品比較。雖然近來大家都在談論wave 2 MU-MIMO的制式,相關產品也陸續推出市場,但它使用的技術卻要用同樣支援MIMO的流動設備才能發揮出穩定性及效能。所以最後選了ASUS這台年中推出的AC3200 router。

相關資料可到廠商網頁查看:

http://www.asus.com/hk/Networking/RTAC3200


1. 開箱


盒面寫著3年保養,雖然router是比較耐用的產品,不過偶爾也聽過有些人所使用的router只一年多就壞了。而這台的價格比較高,有3年保養也比較安心一點。


開盒後看見100GB cloud的coupon。


內裡物品真不少,主機、3條不同制式的電源線、網線、火牛、6條天線、說明書、保用証及CD。不要以為CD沒有用,當upgrade firmware出問題時,可以使用這CD作復修之用。



款式不錯。


機背有USB2.0、WPS、RESET、WAN、4xGbE、power button及DC in。


機前有LED及WIFI的開關。


機前另一端有USB3.0。


LED燈能示顯為power, wifi 2.4GHz, 5GHz, LAN 1-4, Internet及WPS。


機面十寫著Tri-band Gigabyte Router。


裝上天線後,佔用空間不算小。

加插了4G USB dongle。


看看背後,空間不太夠插4G,看看跟天線都碰上了。還好dongle能夠轉動方向。


2. 新機設定

當接上電源後,你可以用以下3種方式連接及作新機設定:

1. 使用WPS
2. 用WIFI連接SSID ASUS,沒有密碼
3. 連接網線


當連接好後,在browser輸入192.168.1.1。由於是新機,啟動後會有提示,詢問是否要去檢查固件及作更新。


然後少不免是一輪上網設定,按你的網絡環境回答。


重啟後,在主畫面網絡現況。


3. 訊號測試

Router放在客廳,電腦在房間,只有一牆之隔。不過這可是主力牆,內裡充滿了鋼筋。對訊號有很大的影響。放好後,2.4GHz連接是可以,但5GHz連接就很斷續。於是試試將router由背向電腦改為面向房間。這樣放是有點怪相,router現在是面向著牆。這麼放之後,就可以連接到5GHz,証明router後方的接收能力較弱。

測試的頻寬是100Mbps,上載下載同速。以5GHz連接作測試。



第一次測試結果,下載算是滿了100Mbps,但上載只有44Mbps,不滿意。


查看訊號,原來只得一格,難怪這麼慢。電腦其實只跟router只有幾呎距離,可見主力牆對訊號有多大影響。於是我把router改放到窗台上,因為窗台是伸出屋外,剛好能避過主力牆。



第二次測試結果,下載算是滿了100Mbps,但上載約60Mbps,比較好一點。


這次訊號有2格,速度也提升了。但這個結果還未用盡頻寬,於是再次將router面向房間。



這次結果再有提升,雖然還差少許才滿100Mbps,但巳經很滿意。


再看訊號,有3格了。


除了位置問題及router的性能外,環境也有影響。我家裡能接收到的WI-FI訊號,是超過10台以上呢。

4. 4G Dual Wan 測試

因家中只用一家網絡公司提供的上網服務,幸好手中有支4G USB dongle,也是支援的型號。正好用來測試一下Fail over及連接近4G的設定。

以下是支援4G dongle型號的網址:


插入dongle後,在主頁就看到USB icon變了樣,detect成功了。


然後去USB應用,在裡面按3G/4G USB modem。


我初時是使用自動設置,但失敗了。於是把APN Configuration改為手動設定,發現原來系統內裏的APN 服務名稱與我所知的不同。把它修改好就能用了。


修改好後,轉到雙WAN的一頁。把雙WAN開啟,第二WAN改成USB。而雙WAN模式勾選“允許故障恢復”。不然,當轉到4G後,就算主要WAN變會正常也不會自動轉回WAN。



那如何得知4G是否已成功安裝,你可留意畫面右上角,這時多了一個icon。當你指向它時,就會出現“SIM卡已就緒。”


圖1是正常時顯示,當我斷開網線後。系統馬上發現問題,這時第二WAN已準備接替(圖2)。系統在確定主要WAN是斷開後,第二WAN就馬上連接及提供服務(圖3)。

當我再連上網線後,主要WAN就恢復連線,變成準備接替(圖4)。然後系統就斷開第二WAN,令主要WAN重新服務。



我也順道測試一下4G速度,下載速度有點慢,因我這支4G dongle是100Mbps下/40Mbps上的。這應是網絡供應商的問題。

5. QOS 測試

這台router的QOS分了兩頁設定;bandwidth Monitor及QoS。

在bandwidth Monitor裡,你可以即時看到這台router即時的流量,也可以看每個連接設備的流量情況。如想詳細了解每台機的流量情況,只要將“應用程式分析”功能開啟。然後按想看的設備的icon,就能看到設備的每個connection的流量。


在這裡也可以設定連接設備的優先使用網絡權,在畫面中間顯示了五個級別;最高、高、中、低、最低。只要將以上的級別拖到你的設備上,然後套用就可設定。而單按級別的話,就會顯示只屬這級別的設備。

不過,可能是firmware bug的問題,實際上它不能顯示你設定了的設備級別。但可幸的是,優先使用網絡權的功能還是能正常運作。

而router的流量顯示也不準確,不過後來找到了原因,那是你需要停止使用NAT加速功能才能正常顯示。

要使用優先使用網絡權,你還需要啟動QoS。到QoS頁裡,啟動smart QoS。這時有3個選項:1.自適性 QoS  2.傳統 QoS 3.Bandwidth Limiter。這幾乎是集合了過往router設備提供過的不同方式的流量控制方案。


自適性 QoS是最單簡的方案,對網絡不熟悉的人也能應用。本身設定了3個方案,也可以按照你自己的想法作細項調整。


在Customize裡,只需按著目標拖高拖低就可以了。如果在此頁看不到項目,那是因為Smart QoS未啟動。先啟動,再來customize就可以了。


而傳統 QoS就可以按port及設備作優先權管理,也可以加上流量控制。而在bandwidth裡設定的優先權,也會在這裡顯示出來。


設備優先權也可以細緻調控,只要在畫面右上角選單選“使用者自訂優先級”即可。


Bandwidth Limiter就比較簡單,沒有優先次序。只設定連接設備的流量。

6. Traffic Analyzer

眾多功能之中,這是最吸引的。因為不要每台router都有這個功能。而且這功能做得相當齊全,在這價格上提供這個功能,真是用家之福。可惜這個功能也比較多Bug,應影了結果及實用性。另外,有些人也不喜歡它,因為能清楚看到每位用家的使用情況及流量,引起某些人對私穩權的問題。


在Statistic裡,能看到每台設置的詳細流量資料。對於設置QOS是有相當大的幫助。不過,系統雖然能為每台設備重新命名,但這裡還是只顯示原來名稱(無名的就顯示MAC地址)。


Traffic Monitor能看到WAN、LAN、2.4GHz及5GHz各通道的流量。不過,5HGz第二頻的流量就看不到。相信是Bug,也向ASUS作出反映。


7. Smart connect

Smart connect能讓3條WI-FI頻道按設定去連接無線設備,能讓頻道平均使用,又或按各類N、A等設置設立專用頻道。這令用家能有效運用所有WI-FI頻道,提供更理想的速度及穏定性。


在無線網絡裡啟動Smart connect。3條頻道的設定就會變成統一設定。


在smart connect設定裡,預設第二頻道給AC設備用,因其原意是2.4GHz給一般設備,5GHz第一頻道給n設備用。5GHz第二頻道給AC專用。如你沒有AC設置的話,可將第二頻放給n設備用。

總結

在這台router上,看得出ASUS的誠意。高强的接收能力,靈活的WI-FI頻道的調控,强大的QOS,令人驚訝的Traffic analyzer。需有不少Bug,還有待改善。而在開啟Smart connect時,如能個別設定WI-FI channel就更好。因為家居干擾不少,自動設定不一定能應付。但這還是一台值得推薦給人使用。

2014年12月2日星期二

Android 開發: 如何在textview中使用文字格式


利用spanned能夠將html格式的文字放在textview中,如以下例子:

                TextView txView = (TextView) findViewById(R.id.textView1);
                Spanned spd = Html.fromHtml("<h2>標題</h2><p>內容......</p>");
                txView.setText(spd);

如將文字內容放在strings.xml上,修改如下:

                TextView txView = (TextView) findViewById(R.id.textView1);
                Spanned spd = Html.fromHtml(getString(R.string.mainText));
                txView.setText(spd);

而在strings.xml內的文字內容必需加上 <![CDATA[ 及  ]]>才生效,如下:

     <string name="mainText"><![CDATA[<h2>標題</h2><p>內容......</p>]]></string>


而要使用spanned及html語法,需要在import中加入;

import android.text.Html;
import android.text.Spanned;

2014年8月1日星期五

Android 隱藏那些不想要在Music player出現的聲音檔案

有些APP如WhatsApp,會產生一些聲音檔,那些並不是歌曲。但有時會出現在你的Music player APP當中,相當麻煩。不過,你只要在那放聲音檔的文件夾上放上一個 .nomedia 檔案。那就能把它們隱藏起來,不用刪除。 如你用ES文檔瀏覽器APP,只要去到那放聲音檔的文件夾,然後新增文件及命名為.nomedia即可。

文件命名為.nomedia Download文件夾被隱藏起來了

2013年6月11日星期二

雙卡雙待就只是雙待嗎?


很多人對手機的雙卡雙待認識. 就是可插入雙卡作跨境之用. 因為在當地使用當地的電話卡, 收費會較平. 不過, 其實雙待還有其他用途.

公私電話
有些人因工作關係, 需要使用公司的手機. 但同時帶著2台手機確實有些不便, 如重量, 充電及電波對健康的問題. 雖然有些人使用飛線功能. 將公司的電話轉到自己的手機上. 不過當來電時, 卻不能從顯示中知道來電是工作或私人的通電. 而且不能使用公司的號碼撥出. 也加增自己的手機的通話用量. 而使用雙待即能避免以上的問題.

2個號碼
雙卡能提供2個號碼. 有些人會使用2個號來處理他們自己的事情. 例如1個號碼給親人或好友. 另一個在公共用途使用. 如銀行, 服務機構或不太相熟的人.因為這樣容易認別來電的人. 而且你可以暫停這個號碼. 在有些時候如晚上, 避免打擾.

覆蓋問題
每個電訊商都有覆蓋盲點. 如同時使用兩個電訊商的服務. 便能有效地減少盲點的問題.

2013年5月15日星期三

給昂達 v812 平板更換電池

昂達平板最不是的地方除了音量,就是電量了。於是上網研究更換方法及替代電池後。便試著動手更換。



在淘寶上購買了這2750Mah x 2並聯的電池。賣家巳為買家並好及加上保護電路。

從背殼兩旁可可見勾的位置

更換電池需移除背殼,需要使用T3工具把頂及底共4梅缧絲鬆開。然後使用膠卡片把頂部中央的勾及兩旁各4個勾鬆開。最後從頂部拉開,即可分離背殼。要注意底部的電源及Home按鈕,很容易弄斷。

新電池面積較細及厚度較厚

 
原廠電池是被雙面膠固定在鐵板上。可用工具小心地把它分離。

 由於新電池較厚,將它放置靠中央的位置

最後是利用工具將電源綫分離及將新電源接上。試啟動平板,如沒有問題的話。把電源關上及裝好電池及背殼,充電後即可使用。

原廠電池在屏幕全亮之下,可運行2:30小時。更換後,可運行4:20小時。差不多是兩倍。

原廠電池:
100%電量,啟動後觀看rmvb電影1:40小時,電量下降至38%,餘下0:50小時用作上網及遊戲。

新電池:
100%電量,啟動後上網1:00小時,電量下降至70%,然後觀看rmvb電影1:40小時,電量下降至27%,餘下1:40小時用作觀看網片及遊戲。

2013年3月8日星期五

解決DIY Android boot animation遇上的問題


喜歡DIY的朋友, 自然不會錯過修改開機動畫, 找點樂趣吧.尤其是有一些平板的動畫真的很爛. 網上有很多談給如何DIY boot animation. 不過, 很多人卻不成功. 所以在這裡提一下如何修改及要注意的地方.
  • 一般bootanimation.zip是放到/system/media. 在這裡應能看見原廠的bootanimation.zip. 修改前應先備份.
  • bootanimation檔案是不能使用壓縮格式. 所以, 封存時請使用"僅儲存".
  • 不知為何, 新建成的ZIP檔案不一定能用. 如不能使用的話. 可以試修改原bootanimation.zip. 把當中不需要的檔案刪除及加入新檔案. 緊記使用"僅儲存"方式封存.
  • 檔案的權限不需修改. 除非遇上問題才修改成原廠檔案的權限.
  • 不良的bootanimation.zip會有機會令開機黑屏. 所以, 應使用 adb shell bootanimation 指令作測試. 然後才動啟平板.