發表文章

PHP如何取得ActiveMQ的狀態

在測試ActiveMQ過程中,發現發生下面狀況時,ActiveMQ可能就會出現異常的狀況 當queue內累積過多的筆數 當queue內累積太多的資料內容 要多少筆數?多少資料量?才可能出現異常呢?官方資料中,沒有找到明確的數據。 根據測試的經驗,這個數字依舊和機器等級有差。當procedure往queue塞資料的速度大於consumer消化速度,讓queue內的資料筆數一直累積上去。會導致consumer處理速度越來越慢、惡性循環下去。其實,procedure的處理能力,也會越來越差。 如果queue繼續累積下去,會出現無法連到ActiveMQ。甚至WEB管理介面也失效、最後要重新啟動ActiveMQ。最慘的狀況是,當重新啟動後,還要將剛剛的queue刪除,才能恢復正常。 也曾遇過一個狀況,ActiveMQ的主機,最後因stock吃完而無法服務。 因此,需要監控ActiveMQ的狀況。或者,在procedure中檢查queue內的數量,作為後續處理的依據。(當然,還是要看怎麼規劃、運用ActiveMQ) 如何以PHP+STOMP取得ActiveMQ的資訊呢?

東勢林場賞楓、賞櫻花

圖片
東勢林場楓樹林內的山徑,鋪滿了楓樹落葉 說到 東勢林場 ,我對於他的印象只有螢火蟲和露營。這次農曆春節期間首次造訪,才知道東勢林場也有櫻花、李花、楓紅、溫泉、甲蟲...也有許久沒玩過的野外訓練設施(體能訓練場) 今年農曆春節來得早,一月底就過年了,加上今年冬天寒流不多,結果就是,在東勢林場內,沿途可以看到尚未完全盛開的櫻花、伴隨者尚未完全凋落的楓葉…也因為如此,感覺上此行不太像賞櫻,反而有點像是賞楓行程了 :) 在欣賞櫻花時,稍微留心一下,會發現在樹梢、花叢間有時會看到小鳥穿梭期間。這次觀察到的大都是綠繡眼,卻沒見到畫眉… 住在東勢林場的當晚,天氣非常的好、大氣擾動不明顯…加上光害尚可接受,忽然興起拍星軌的念頭,於是,就以冬天最明顯的獵戶座腰帶為標的,大夥拍了幾張玩玩~不過,沒帶適合的腳架、也沒B快門的情況下,真的只是拍拍好玩... :(

php 5.2.* 如何解決Hash Collision

前一陣子出現個名詞Hash Collision。接者Hash Collision DoS這名詞跟者出現,而後就看到很多系統、語言開始出現更新patch。 XD Hash Collision影響範圍有多廣,可以參考 oCERT.org - oCERT Advisories 。裡面列出受到影響的語言、系統,以及目前的狀況。以php為例,5.3.9後、或5.4.0RC4後的版本才修正此狀況。 可以更新的語言或系統,就請自己更新…如果不再上面的,就比較麻煩了… :( 以php 5.2.x為例。出了 PHP 5.2.16 時,PHP官方指出該版本是php 5.2.x 的最後一版,往後將不再維護。雖然,沒多久因為一個重大問題,又馬上出了 PHP 5.2.17 。但…這次聽說不會因為Hash Collision出新版本更新此問題。 只好找治標的方式來防止。PHP的參數中和Hash Collision攻擊有關的php參數有兩個

秀巒控溪吊橋楓紅

圖片
秀巒檢查哨附近的楓紅 位於新竹尖石、五峰霞喀羅古道,其實非常的深山。每次(冬天)去造訪,都是天還沒亮時就開車出發,回到家時天也早已經黑了…最快的一次,是回程時經過內灣時天才黑… 雖然車程是如此緊湊,每次經過途中的宇老、及秀巒時,卻一定會挪出時間,在這兩處欣賞風景、拍拍照片。之後才會去霞喀羅古道養老段。 運氣不錯,到達關西休息站時,天氣已經轉好。

新竹霞喀羅古道賞楓

圖片
霞喀羅古道 之前趁深秋時,走了一趟 三峽雲森瀑布&姊妹瀑布 。很可惜的,雲森瀑布前的楓還是綠色…沒欣賞到雲森瀑布的楓紅。之後,終於來了兩波寒流。想想,新竹霞喀羅古道上的楓葉應該轉紅了吧? 一早天還沒亮,一行人就約好出發了。清晨的台北還是飄者毛毛細雨,到關西收費站前還有點霧。到了關西服務區天氣才轉好… 算一算,走霞喀羅古道養老段也已經四、五次了,每次路況都不同。猶記得第一次造訪時,霞喀羅古道聯外道路的路況非常的差,隨處可見施工處、石堆、跟車一樣的落石…所幸車子底盤高,才輕鬆過去。今年,霞喀羅古道聯外道路的路況非常的好,需要感謝養護單位的努力。 還有一個變化…原本在養老登山口空地改建成平台。剛到時還真傻了眼,因為這樣讓停車位少了很多。後來才知道,下方另外闢建了一個停車場…

以php檢查ip網段

隨者機器越來越多,將單一IP以字串方式檢測的方式,當網路臨時調整時、或者要檢測的IP數很多時,就有點麻煩了。使用判斷網段的方式,會比較有彈性。 依照tcp/ip的邏輯,利用位元運算先做出了第一版 function  matchCIDR( $ip ,  $cidr ) {     list( $ip ,  $mask ) =  explode ( '/' ,  $cidr );      $mask  =(32 -  $mask );      return  (( ip2long ( $ip ) >>  $mask ) == ( ip2long ( $ip ) >>  $mask ));   }   想說,是否有更快、更好的的作法?在 PHP: ip2long - Manual 看到了兩個作法。一個作法,很有效率。另一個卻比較差。 下面這個PHP程式碼,根據實際測試的結果,速度是最快的。不過…程式碼的可讀性比較差,需要想一下才能瞭解其邏輯。 function  netMatch( $IP ,  $CIDR ) {     list ( $net ,  $mask ) =  explode ( '/' ,  $CIDR );      return  (  ip2long ( $IP ) & ~((1 << (32 -  $mask )) - 1) ) ==  ip2long ( $net );   }  

三峽雲森瀑布&姊妹瀑布

圖片
三峽姊妹瀑布 今年盛夏時,曾經造訪過 三峽雲森瀑布 。那時,曾注意到瀑布前方有棵楓樹。入秋後,每當天氣轉涼時就想去造訪,欣賞楓紅映者雲森瀑布。 今年入秋後的天氣,可說是陰雨綿綿,天天都在下雨,讓人感覺都快發霉、生鏽了。看氣象預報,感覺雨勢在週末時可能趨緩,加上已經過了12月中旬,楓葉應該紅了。臨時決定再度去造訪雲森瀑布。 夏天,三峽往滿月圓途中處處可見戲水的人潮…天氣轉涼後,戲水人潮不在。到雲森瀑布登山口,比上次的時間還晚,停在附近的車輛,卻只有兩三輛,不如上次已經快沒空地可停。 近來天天都在下雨,原以為通往雲森瀑布的山徑應該會濕滑難走。出人意料的,只有部分路段潮濕。沿途,還可見到不少掉落在山徑上的楓紅。這樣,讓人非常期待雲森瀑布楓紅 :D