qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          CentOS7網(wǎng)絡(luò)配置和服務(wù)管理

           一、配置網(wǎng)絡(luò)
            在使用Vmware Workstation10.2測試過程中,發(fā)現(xiàn)可能部分物理機(jī)100M網(wǎng)卡不能正常識別,換到了1000M網(wǎng)卡上測試能正常識別虛擬網(wǎng)卡
            Centos7系統(tǒng)的網(wǎng)卡設(shè)備命名有所變化,可參考CentOS 7下網(wǎng)絡(luò)設(shè)備命名,個人感覺既然學(xué)習(xí)新系統(tǒng),完全沒必要換成傳統(tǒng)的識別名方式,要勇于接受新知識~
            1.通過編輯文件修改網(wǎng)絡(luò)配置
          vim   /etc/sysconfig/network-scripts/ifcfg-eno16777736
          HWADDR=00:0c:29:14:34:51
          TYPE=Ethernet
          BOOTPROTO=static
          DEFROUTE=yes
          PEERDNS=yes
          PEERROUTES=yes
          USERCTL=no
          NM_CONTROLLED=no
          IPV4_FAILURE_FATAL=no
          IPV6INIT=yes
          IPV6_AUTOCONF=yes
          IPV6_DEFROUTE=yes
          IPV6_PEERDNS=yes
          IPV6_PEERROUTES=yes
          IPV6_FAILURE_FATAL=no
          NAME=eno16777736
          ONBOOT=yes
          IPADDR=192.168.117.128
          NETMASK=255.255.255.0
          GATEWAY=192.168.117.2
          DNS1=192.168.117.2
            關(guān)鍵配置:
            TYPE=Ethernet
            BOOTPROTO=static
            NAME=eno16777736
            ONBOOT=yes
            IPADDR=192.168.117.128
            NETMASK=255.255.255.0
            GATEWAY=192.168.117.2
            DNS1=192.168.117.2
            cat /etc/resolv.conf
            nameserver 192.168.117.2
            2.通過文本工具nmtui修改網(wǎng)絡(luò)配置(RHEL7/CentOS7默認(rèn)安裝,前提需要開啟NetworkManager.service才可以使用)
            yum -y install NetworkManager-tui
            nmtui-edit eno16777736  修改網(wǎng)卡配置
            nmtui-connect eno16777736
            重啟網(wǎng)絡(luò)
            systemctl  restart network
            systemctl  status network
            修改主機(jī)名:
            vim /etc/hostname
            centos7.simlinux.com
            退出重新登錄即可生效
           二、關(guān)閉不必要的服務(wù)
            最小化安裝的Centos7系統(tǒng)并沒有nano、vim、wget、curl、ifconfig、lsof命令,這里首先安裝一下:
            yum -y install nano vim wget curl net-tools lsof
            可以通過netstat和lsof查看系統(tǒng)都運行了哪些服務(wù),將不必要的進(jìn)行關(guān)閉
          systemctl stop postfix
          systemctl stop avahi-daemon
          systemctl disable postfix
          systemctl disable avahi-daemon
          systemctl list-unit-files    查看正在運行服務(wù)的狀態(tài)報告
          systemctl start httpd.service    啟動服務(wù)
          systemctl stop  httpd.service    關(guān)閉服務(wù)
          systemctl restart  httpd.service 重啟服務(wù)
          systemctl reload   httpd.service 重新加載服務(wù)
          systemctl disable  httpd.service 開機(jī)不啟動
          systemctl enable   httpd.service 開機(jī)啟動
          systemctl status   httpd.service 查看服務(wù)運行狀態(tài)
          systemctl show     httpd.service 顯示服務(wù)或任務(wù)的屬性
          systemctl list-dependencies  httpd.service  檢查服務(wù)依賴關(guān)系
          systemctl is-enabled  httpd.service  檢查服務(wù)是否開機(jī)啟動及級別
          systemctl -H 192.168.117.128 start httpd.service   啟動192.168.117.128機(jī)器上的httpd服務(wù)

          posted @ 2014-09-09 10:19 順其自然EVO 閱讀(13480) | 評論 (1)編輯 收藏

          成立第三方軟件測試公司的時候尚未成熟

           現(xiàn)在有許多文章提出要加強(qiáng)中國軟件質(zhì)量,必須進(jìn)行第三方軟件測試,2005年6月2日信息產(chǎn)業(yè)部中國軟件測評機(jī)構(gòu)聯(lián)盟成立,規(guī)范第三方軟件測試,但是我認(rèn)為,第三方軟件測試的時候尚未到來。主要原因如下:
            軟件企業(yè)對軟件測試仍舊不夠重視
            現(xiàn)在在中國軟件企業(yè)的高層領(lǐng)導(dǎo)對于軟件測試仍舊不夠重視,軟件就是編程的思想仍舊深深的扎生在許多企業(yè)高層領(lǐng)導(dǎo)的腦海中。編碼才是真正的軟件工作,測試可有可無。編碼能夠產(chǎn)生真正的產(chǎn)品,而測試不能,所以測試工作往往可以由程序員自己來執(zhí)行,由于思路的局限性,這樣的測試往往沒有較好的結(jié)果。在一個項目中為了盡早提交軟件產(chǎn)品,往往對測試壓縮,壓縮再壓縮,使測試就是簡單的走過場,甚至沒有測試。并且測試人員往往讓剛剛走出校門的大學(xué)畢業(yè)生已盡快熟悉企業(yè)產(chǎn)品為目的進(jìn)行測試,而在國外軟件測試工程師的水平要求比軟件開發(fā)工程師的水平要高的許多,只有這樣才可以發(fā)現(xiàn)更多的缺陷。對軟件測試的不重視程度,往往大大增加售后服務(wù)的費用。這樣的結(jié)果導(dǎo)致軟件公司給第三方軟件測試公司報價及低,但工作量又十分龐大,軟件測試公司沒有盈利的空間。
            國家機(jī)構(gòu)的壟斷
            許多國家機(jī)構(gòu)也發(fā)現(xiàn)軟件第三方測試市場,他們對企業(yè)軟件進(jìn)行測試,發(fā)放國家認(rèn)可的證書。這就給民間的軟件測試公司的成立帶來了很大的壓力,這些企業(yè)的創(chuàng)辦者經(jīng)過測試很難給企業(yè)發(fā)放這些證書。所以許多軟件企業(yè)紛紛停止這項業(yè)務(wù),而轉(zhuǎn)入更容易賺錢的其他項目,比如軟件測試培訓(xùn)。而需要第三方軟件測試的企業(yè)也找國家直屬的企業(yè)進(jìn)行產(chǎn)品認(rèn)證。
            軟件測試人員的短缺
            第三方軟件測試需要測試人員具有相當(dāng)實力的測試水平,然而在中國大學(xué)課程中幾乎沒有一門課程能夠系統(tǒng)學(xué)習(xí)到軟件測試?yán)碚摵图记傻模捎谄髽I(yè)對軟件測試的不夠重視,即使有一定年限工作的工程師也水平及其有限。
            大的國內(nèi)公司攬包第三方測試
            許多產(chǎn)品的測試往往需要進(jìn)行第三方測試,比如軟件本地化測試。微軟的產(chǎn)品,生產(chǎn)一個就要產(chǎn)生世界各地本地化版本,如果這些工作都讓微軟來做,得不傷勢。而國內(nèi)許多大企業(yè),他們一直與這些大的國際企業(yè)有著長年的友好關(guān)系。他們往往可以接下測試任務(wù),在社會上招聘測試工程師,號稱赴某某大公司工作,然而項目一旦完畢,就將這些人員解散。
            由于沒有建立起一套正規(guī)的游戲規(guī)則,所以給軟件測試公司的大量開辟帶來了許多不利因素,雖然業(yè)界業(yè)認(rèn)識到了第三方測試的重要性,但是在目前條件下成立測試公司路途仍舊十分艱難。但本人認(rèn)為測試公司的大規(guī)模成立勢在必行,經(jīng)過市場的不斷完善,在三到四年后可能形成規(guī)模。由于嵌入式軟件和一產(chǎn)品為主在軟件企業(yè)越來越多,他們開發(fā)出來一套產(chǎn)品后,主要的工作是對產(chǎn)品的維護(hù)和性能優(yōu)化。比如數(shù)字機(jī)頂盒軟件,殺病毒軟件等等。他們成立一個測試部門沒有必要,而第三方測試正是他們需要的。立志與創(chuàng)建中國軟件民間測試公司的朋友們,做好充足準(zhǔn)備,屬于我們的日子即將到來。

          posted @ 2014-09-09 10:18 順其自然EVO 閱讀(169) | 評論 (0)編輯 收藏

          現(xiàn)有項目風(fēng)險管理的缺陷分析

           摘 要:不確定性是項目的主要特征之一,但現(xiàn)有的風(fēng)險管理理論和方法多數(shù)是針對項目風(fēng)險結(jié)果的,存在管理思想和對象局限性。通過對項目風(fēng)險管理理論的梳理,分類和識別項目不確定性,在此基礎(chǔ)上不斷彌補(bǔ)信息缺口,對項目風(fēng)險帶來的威脅和機(jī)會統(tǒng)一管理,可以有效地改變傳統(tǒng)項目風(fēng)險管理面向項目風(fēng)險后果的被動管理的弊端,使項目風(fēng)險管理由原來被動地應(yīng)對和管理項目風(fēng)險后果轉(zhuǎn)變?yōu)橹鲃拥脑黾禹椖績r值式的管理。
            項目內(nèi)外部環(huán)境的復(fù)雜性以及項目本身的一次性、獨特性等特點,使得項目存在著大量的不確定性。項目不確定性的存在使項目的管理者及其他相關(guān)利益者,在無法確知行動結(jié)果的情況下制定項目目標(biāo)和行動計劃,在項目的實施中逐漸調(diào)整,給項目帶來各種風(fēng)險,有時甚至?xí)淖冺椖康闹饕繕?biāo)和行動計劃。如2008年北京奧運場館項目實施過程中,根據(jù)世奧官員和專家的建議,對建設(shè)標(biāo)準(zhǔn)和竣工時間都做了變更。隨著科技的飛速發(fā)展,各種不確定性發(fā)生的可能性大量增加,造成的風(fēng)險規(guī)模也日益擴(kuò)大,使得面向項目不確定性的風(fēng)險管理工作有了更大緊迫性。風(fēng)險管理就是將項目的不確定性事件或活動,努力轉(zhuǎn)化為項目的確定性事件或活動的過程。然而現(xiàn)有的項目風(fēng)險管理理論和實踐主要是針對項目風(fēng)險結(jié)果,缺乏對引發(fā)項目風(fēng)險結(jié)果的不確定性事件進(jìn)行識別、預(yù)防和規(guī)避的研究。在這種風(fēng)險管理過程中,項目管理人員不是直接管理項目不確定性,而是被動地接受項目的不確定性結(jié)果,并用面向風(fēng)險結(jié)果的方法進(jìn)行管理。本文從項目不確定性的角度出發(fā),分析了現(xiàn)有項目風(fēng)險管理研究中存在的不足,在此基礎(chǔ)上,提出了面向不確定性的管理模型,并對項目不確定性的分類、彌補(bǔ)信息缺口的途徑進(jìn)行了研究。
            一、現(xiàn)有項目風(fēng)險管理缺陷分析
            最早的正式開展項目風(fēng)險管理的研究機(jī)構(gòu)是美國造價工程師協(xié)會,在1992年成立專門的項目風(fēng)險管理委員會,1995年推出“項目風(fēng)險管理字典”,1998年推出項目風(fēng)險管理手冊。由于對項目風(fēng)險管理的研究歷史較短,使得人們對項目風(fēng)險管理的認(rèn)識還有相當(dāng)?shù)木窒扌浴,F(xiàn)有的風(fēng)險管理工作存在諸多缺陷,主要表現(xiàn)為:
            1、管理思想的局限性。人們對風(fēng)險的認(rèn)識是從巨大損失開始的,1953年,通用汽車公司的一場火災(zāi)震動了美國企業(yè)界和學(xué)術(shù)界,這場火災(zāi)成了風(fēng)險管理科學(xué)發(fā)展的契機(jī)。所以,傳統(tǒng)的風(fēng)險管理常被視為一種保險,一個緩解不確定性的緩沖區(qū)。風(fēng)險研究多數(shù)是針對損失進(jìn)行的,沒有很好地研究應(yīng)該如何去抓住項目不確定性所帶來的機(jī)遇問題。項目風(fēng)險管理的目標(biāo)是如何將損失減少到最低程度,放棄了抓住“機(jī)遇”的努力。這種面向項目損失的管理模式采取風(fēng)險“應(yīng)對”的方式進(jìn)行風(fēng)險管理,往往喪失了“變壞事為好事”的時機(jī)。現(xiàn)代項目管理認(rèn)為,從項目最初的定義與決策階段就應(yīng)該通過項目風(fēng)險管理去對項目的不確定性做好轉(zhuǎn)化工作,努力實現(xiàn)“變壞事為好事”,做好項目風(fēng)險損失轉(zhuǎn)化為項目風(fēng)險機(jī)遇的管理工作。因為此時人們對于項目的影響力較高,如果此時積極開展項目風(fēng)險管理的話就有可能抓住各種“變壞事為好事”的機(jī)遇。
            2、管理對象的局限性。傳統(tǒng)的項目風(fēng)險管理主要是針對項目風(fēng)險的識別、度量、應(yīng)對和監(jiān)控的技術(shù)研究,沒有對引發(fā)項目風(fēng)險的不確定性事件進(jìn)行深入研究。美國項目管理協(xié)會(PMI)開發(fā)的項目管理知識體系(PMBOK)中,對項目風(fēng)險的研究亦是如此。這種管理方式導(dǎo)致人們在項目風(fēng)險管理中,一是過于關(guān)注項目已設(shè)定好的目標(biāo),忽視對這些目標(biāo)以外目標(biāo)的不確定性的應(yīng)對。二是過于關(guān)注如何減少風(fēng)險損失,忽略風(fēng)險可能帶來的收益。三是使風(fēng)險管理工作滯后,在項目設(shè)計階段開始介入,錯過了不確定性最大的項目定義與決策階段。四是傳統(tǒng)的風(fēng)險研究往往只涉及到靜態(tài)風(fēng)險,無法處理由各種心理因素及環(huán)境等不確定性所造成的動態(tài)風(fēng)險。因此,這種管理方式使人們總是處于一種被動“應(yīng)對”地位,不利于通過增加信息和數(shù)據(jù)等手段主動降低項目不確定性,也不利于進(jìn)一步提高項目風(fēng)險管理的水平和能力。盡管有些學(xué)者認(rèn)識到了這一點,并做了一些補(bǔ)充與完善,以便更直接地對項目不確定性開展管理,但是由于理論基礎(chǔ)方面的缺陷,使得效果并不理想。
            二、面向項目不確定性的風(fēng)險管理方法
            第一,面向不確定性的項目風(fēng)險管理應(yīng)以項目價值認(rèn)知為基礎(chǔ)。由于項目管理的根本目標(biāo)是滿足和超越項目利益相關(guān)者的要求與期望,所以面向不確定性的項目風(fēng)險管理也要為這一目標(biāo)服務(wù),從對項目價值的認(rèn)知和分析著手,明確項目風(fēng)險管理目標(biāo),實現(xiàn)項目價值的最大化和項目成本的最小化。
            第二,識別項目的不確定性。通過對項目的不確定性進(jìn)行識別,能更好地認(rèn)識和分析項目的不確定性,開展對項目不確定性的直接管理,并使應(yīng)對措施更加有效。此外,這種方法使得項目風(fēng)險管理過程更具一般性和普遍性,能夠更有效地提高人們對于項目不確定性分析與管理的能力,從而避免被動地對項目風(fēng)險后果進(jìn)行管理。
            第三,彌補(bǔ)項目信息缺口。項目的全部事件可以分成三種類型:第一種是確定性事件,此時人們知道項目事件是否肯定發(fā)生(P=1或P=0)(P是指事件發(fā)生的概率,以下同);第二種是不確定性事件,此時人們不知道其是否肯定發(fā)生,但是人們知道其發(fā)生的概率(P<1);第三種是完全不確定性事件,此時人們不但不知道項目事件是否發(fā)生,而且也不知道項目事件發(fā)生的概率(P=?)。
            根據(jù)這種分類可知:正是因為存在信息缺口才造成了人們不能確定項目某種事件是否確定發(fā)生,而這種不確定性才是引發(fā)項目風(fēng)險后果的根本原因。因此,任何項目的風(fēng)險性來自于項目的不確定性,而任何項目的不確定性根本來源在于人們在項目信息方面的缺乏(信息缺口)。面向不確定性的項目風(fēng)險管理方法要通過對于項目不確定性因素的深入認(rèn)識和分析,不斷搜集項目信息,彌補(bǔ)信息缺口,降低項目的不確定性,有效地進(jìn)行項目風(fēng)險管理。這種面向不確定性的項目風(fēng)險管理方法對于人們通過學(xué)習(xí)和積累去拓展自己的認(rèn)識能力給予應(yīng)有的重視,更注重通過提高組織對于項目不確定的認(rèn)識去開展項目的風(fēng)險管理,所以這種項目風(fēng)險管理方法是一種主動的管理方法。第四,統(tǒng)一管理項目的威脅和機(jī)會。面向不確定性的項目風(fēng)險管理方法從分析并消減項目的不確定性入手開展項目風(fēng)險管理,強(qiáng)調(diào)對項目風(fēng)險機(jī)會的管理,因為項目風(fēng)險機(jī)會是對項目價值提升的直接貢獻(xiàn)。因此,這一方法將威脅管理和機(jī)會管理統(tǒng)一于同一個項目風(fēng)險管理過程進(jìn)行度量。項目風(fēng)險管理過程與“風(fēng)險”的定義是平行的。既然將風(fēng)險定義為機(jī)會和威脅,那么機(jī)會管理和威脅管理就需要通過一個過程來實現(xiàn)。要通過機(jī)會的度量和分析,抓住“機(jī)遇”變“壞事為好事”。
           在以上分析的基礎(chǔ)上,本研究提出了面向不確定性的項目風(fēng)險管理的方法模型。通過這套方法不僅可以有效地將項目風(fēng)險管理向前推進(jìn)到針對項目不確定性的管理層次,從而實現(xiàn)對于項目風(fēng)險損失和風(fēng)險機(jī)會的有效管理,同時還可以不斷地提高項目組織的風(fēng)險管理能力。的認(rèn)知出發(fā),通過分析和認(rèn)識項目所涉及的不確定性,進(jìn)一步針對這些不確定性去開展信息的收集,從而努力去降低項目的不確定性和風(fēng)險性,最終分析應(yīng)對項目風(fēng)險所存在的機(jī)會與威脅的措施,并通過實施這些措施來有效地管理項目,分析損失和機(jī)遇,達(dá)到提高項目價值的目的。實際上這一系列過程是一種學(xué)習(xí)的過程,人們可以隨著項目的開展不斷地提高組織對于項目不確定性的管理能力。因此,這會一種積極主動地開展項目風(fēng)險管理的方法,也是管理項目風(fēng)險的主導(dǎo)性方法與過程。雖然在這一面向不確定性的項目風(fēng)險管理過程中,也會不可避免地出現(xiàn)一些無法預(yù)料的風(fēng)險性事件,但是由于人們注重從項目價值的角度來分析項目不確定性,并通過收集信息來降低項目的不確定性,這會使得人們對項目風(fēng)險的認(rèn)識和采取應(yīng)對措施的主動性和有效性大為提高。
            三、面向不確定性的項目風(fēng)險管理程序
            通過以上對面向不確定性的項目風(fēng)險管理方法的分析,與傳統(tǒng)的項目風(fēng)險管理過程相比較,本研究重點從識別項目的不確定性、彌補(bǔ)項目信息缺口及項目機(jī)會和損失度量三個步驟探討如何開展面向不確定性的項目風(fēng)險管理。
            1、識別項目的不確定性。為更好地開展項目不確定性的識別活動,需要用全新的觀念和視角去認(rèn)識項目的不確定性。一些學(xué)者從不同的研究視角在這方面做了一些探索性的研究,如下表所示。在借鑒表中研究成果的基礎(chǔ)之上,本文按照引發(fā)項目不確定性的原因,將項目不確定性分為四類:(1)項目目標(biāo)的不確定性。由于人們的主觀意愿和期望會隨著人們所掌握的項目信息的增長和對于自我需求認(rèn)識的不斷加深而發(fā)生變化,結(jié)果就會造成項目目標(biāo)的不確定性。這既包括人們根據(jù)客觀事物的發(fā)展變化而做出的項目目標(biāo)修訂,也包括人們根據(jù)自己的意愿改變而對項目目標(biāo)的調(diào)整。(2)項目活動的不確定性。項目具有的一次性和獨特性等特點決定了項目所需開展的活動會具有一定的不確定性,同時由于項目活動之間的作用機(jī)制的復(fù)雜性,彼此之間會產(chǎn)生積極或消極的相互影響,這也會造成項目的不確定性。因此項目活動的不確定性既包括為實現(xiàn)項目目標(biāo)所需的項目活動的不確定性,又包括各項目活動間關(guān)系的不確定性兩個方面.(3)項目活動環(huán)境與條件的不確定性。項目活動是在一定的環(huán)境與條件下開展的。而環(huán)境是一個復(fù)雜的、動態(tài)的系統(tǒng),這個系統(tǒng)又時刻對項目活動產(chǎn)生影響,從而引發(fā)項目的不確定性。這包括項目活動的外部環(huán)境和內(nèi)部條件兩方面的不確定性,其中項目外部環(huán)境的不確定性是指項目所處微觀和宏觀環(huán)境的各種意外變動所帶來的不確定性,項目內(nèi)部條件的不確定性是指項目組織內(nèi)部條件方面的各種變動所造成的項目不確定性。(4)項目技術(shù)與管理方法的不確定性。這是指項目所采用的技術(shù)和管理方法所產(chǎn)生后果的不確定性,其中包括由于項目技術(shù)方法的不成熟或不易掌控而造成項目技術(shù)后果的不確定性、以及由于項目管理方法中的權(quán)變而造成的后果的不確定性。項目技術(shù)后果的不確定性和項目管理后果的不確定性,都會給項目帶來一定的不確定性。
            2、彌補(bǔ)項目信息缺口。項目風(fēng)險管理最有效的途徑是努力去降低項目的不確定性,而降低項目的不確定性的根本出路在于消除和減小項目的信息缺口。圖2顯示了面向消除項目不確定性的項目風(fēng)險管理模型。由圖2可知,真正主動的項目風(fēng)險管理應(yīng)該從增加項目的信息以消除項目信息缺口入手,因為只有這樣才會通過降低項目的不確定性去管理好項目風(fēng)險。項目最初的不確定性可能是一種完全的不確定性,即人們既不知道項目的風(fēng)險損失和收益(L=?,B=?),也不知道項目風(fēng)險收益和損失的概率(P(B)=?,P(L)=?)。但是,人們可以通過收集更多的信息去了解項目風(fēng)險損失或收益,從而確定或假定項目風(fēng)險損失或收益(P=?,P(L&B)=1或0)。更進(jìn)一步,人們可以收集更多的信息和深入地認(rèn)識項目風(fēng)險發(fā)生的概率(P),使得項目風(fēng)險概率從P=?變化到P<1,即有Pi<1和∑Pi=1;從理論上說,最終人們可以通過收集信息而使得Pi=1或Pi=0,完全消除項目的不確定性。雖然這種情況只是一種理想境界,但是人們只要通過不斷提高自己的認(rèn)知能力,并且隨著項目的展開不斷認(rèn)識它,就一定能夠最終達(dá)到這一目標(biāo)。
            3、項目的機(jī)會與損失度量。項目的風(fēng)險是給項目帶來的損失(Loss)或收益(Benefit)的可能性,因此,項目的風(fēng)險結(jié)果可以用下面的公式來描述:Rp=Σni=1Li×Pi+Σmj=1Bj×Pj其中:Rp為項目風(fēng)險后果,Σni=1Li×Pi為項目風(fēng)險損失,Σmj=1Bj×Pj為項目風(fēng)險收益或機(jī)會。項目的機(jī)會或損失需要一同評價和估量。這種度量主要包括四個方面:
            一是項目機(jī)會和損失可能性的度量。這是度量工作的首要任務(wù),由項目管理者或?qū)<彝ㄟ^歷史和現(xiàn)有信息作出判斷。pmp.mypm.net
            二是項目機(jī)會和損失結(jié)果的度量。這是用以分析和估計項目風(fēng)險結(jié)果的程度。主要使用期望值法、模擬仿真法和專家決策法等方法。三是項目機(jī)會和損失影響范圍的度量。這是用以分析和估計項目風(fēng)險影響范圍的大小。主要使用模擬仿真法和專家決策法等方法。四是項目機(jī)會和損失發(fā)生時間的度量。這是用以分析和估計風(fēng)險發(fā)生的時間。
            四、結(jié)論
            面向不確定性的項目風(fēng)險管理方法,能夠直接管理引起項目風(fēng)險的不確定性事件,因此,可以有效地改變傳統(tǒng)項目風(fēng)險管理面向項目風(fēng)險后果的被動管理的弊端,使項目風(fēng)險管理由原來被動地應(yīng)對和管理項目風(fēng)險后果轉(zhuǎn)變?yōu)橹鲃拥卦黾禹椖績r值式的管理。這種方法從項目價值認(rèn)知著手,通過分類和識別項目不確定性事件,能夠不斷彌補(bǔ)信息缺口,對項目風(fēng)險存在的威脅和機(jī)會統(tǒng)一管理,有效地提高整個項目管理的成功度、效益與效率,增強(qiáng)項目組織的風(fēng)險管理的能力。
           

          posted @ 2014-09-09 10:15 順其自然EVO 閱讀(203) | 評論 (0)編輯 收藏

          滲透測試之我見

           滲透測試,是為了證明網(wǎng)絡(luò)防御按照預(yù)期計劃正常運行而提供的一種機(jī)制。
            滲透測試的分類實際上滲透測試并沒有嚴(yán)格的分類方式,即使在軟件開發(fā)生命周期中,也包含了滲透測試的環(huán)節(jié),但根據(jù)實際應(yīng)用,普遍認(rèn)同的幾種分類方法如下:
            方法分類
            1、黑箱測試
            黑箱測試又被稱為所謂的“Zero-Knowledge Testing”,滲透者完全處于對系統(tǒng)一無所知的狀態(tài),通常這類型測試,最初的信息獲取來自于DNS、Web、Email及各種公開對外的服務(wù)器。
            2、白盒測試
            白盒測試與黑箱測試恰恰相反,測試者可以通過正常渠道向被測單位取得各種資料,包括網(wǎng)絡(luò)拓?fù)洹T工資料甚至網(wǎng)站或其它程序的代碼片斷,也能夠與單位的其它員工(銷售、程序員、管理者……)進(jìn)行面對面的溝通。這類測試的目的是模擬企業(yè)內(nèi)部雇員的越權(quán)操作。
            3、隱秘測試
            隱秘測試是對被測單位而言的,通常情況下,接受滲透測試的單位網(wǎng)絡(luò)管理部門會收到通知:在某些時段進(jìn)行測試。因此能夠監(jiān)測網(wǎng)絡(luò)中出現(xiàn)的變化。但隱秘測試則被測單位也僅有極少數(shù)人知曉測試的存在,因此能夠有效地檢驗單位中的信息安全事件監(jiān)控、響應(yīng)、恢復(fù)做得是否到位。
            目標(biāo)分類
            1、主機(jī)操作系統(tǒng)滲透
            對Windows、Solaris、AIX、Linux、SCO、SGI等操作系統(tǒng)本身進(jìn)行滲透測試。
            2、數(shù)據(jù)庫系統(tǒng)滲透
            對MS-SQL、OracleMySQL、Informix、Sybase、DB2、Access等數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行滲透測試。
            3、應(yīng)用系統(tǒng)滲透
            對滲透目標(biāo)提供的各種應(yīng)用,如ASP、CGI、JSP、PHP等組成的WWW應(yīng)用進(jìn)行滲透測試。
            4、網(wǎng)絡(luò)設(shè)備滲透
            對各種防火墻、入侵檢測系統(tǒng)、網(wǎng)絡(luò)設(shè)備進(jìn)行滲透測試。
            滲透測試工具
            滲透測試是一種利用模擬黑客攻擊的方式,來評估計算機(jī)網(wǎng)絡(luò)系統(tǒng)  攻擊步驟
            安全性能的方法。通常的黑客攻擊包括預(yù)攻擊、攻擊和后攻擊三個階段;預(yù)攻擊階段主要指一些信息收集和漏洞掃描的過程;攻擊過程主要是利用第一階段發(fā)現(xiàn)的漏洞或弱口令等脆弱性進(jìn)行入侵;后攻擊是指在獲得攻擊目標(biāo)的一定權(quán)限后,對權(quán)限的提升、后面安裝和痕跡清楚等后續(xù)工作。與黑客的攻擊相比,滲透測試僅僅進(jìn)行預(yù)攻擊階段的工作,并不對系統(tǒng)本身造成危害,即僅僅通過一些信息搜集手段來探查系統(tǒng)的弱口令、漏洞等脆弱性信息。為了進(jìn)行滲透測試,通常需要一些專業(yè)工具進(jìn)行信息收集。滲透測試工具種類繁多,涉及廣泛,按照功能和攻擊目標(biāo)分為網(wǎng)絡(luò)掃描工具、通用漏洞檢測、應(yīng)用漏洞檢測三類。

          posted @ 2014-09-09 10:11 順其自然EVO 閱讀(238) | 評論 (1)編輯 收藏

          談?wù)劸W(wǎng)站測試中的AB測試方法

          什么是A/B測試?
            A / B測試,即你設(shè)計的頁面有兩個版本(A和B),A為現(xiàn)行的設(shè)計, B是新的設(shè)計。比較這兩個版本之間你所關(guān)心的數(shù)據(jù)(轉(zhuǎn)化率,業(yè)績,跳出率等) ,最后選擇效果最好的版本。
            A / B測試不是一個時髦名詞。現(xiàn)在很多有經(jīng)驗的營銷和設(shè)計工作者用它來獲得訪客行為信息來提高轉(zhuǎn)換率。這是一種很有效的方式,并且由于各種分析工具的發(fā)展,測試成本也越來越低,因此很多電商網(wǎng)站都會采用。
            但是大部分人對于A/B測試只有一個基本的認(rèn)知,如何將它的效應(yīng)發(fā)揮到最大?本文提供19個建議。
            1、減少頁面摩擦
            頁面摩擦就是用戶在瀏覽網(wǎng)頁的過程中遇到了一些阻礙,會降低轉(zhuǎn)換率。通常造成頁面摩擦的原因有三:
            信息欄——要求用戶填寫信息
            步驟指引——網(wǎng)站地圖太復(fù)雜
            長頁面——太長的頁面會磨掉用戶的耐心。
            最好的狀態(tài)是一種“不在場”的狀態(tài),就像人的身體一樣,沒有病痛的時候你不會記得身體的存在。用戶用得行云流水,所有的步驟都順理成章,這才是最好的體驗。
            2、信息輸入焦慮
            有的用戶不愿意輸入太多信息,因為不確定輸了那么多信息以后會不會得到應(yīng)有的回饋(有的人填了一大推信息之后得到一封廣告郵件之類的東西,會產(chǎn)生一種被坑的感覺)。越多的信息需要填寫,用戶流失率就會越高。
            但如果用戶很明確知道他們的努力可能會換來什么回饋,他們就很樂意按照網(wǎng)頁的指引一步一步往下走,也愿意填那些表格。
            3、明晰每一個頁面的目的
            有時候“目標(biāo)清晰”比什么都重要,回答下面3個問題,你可以省略很多不必要的步驟|:
            這個頁面是什么?讓用戶清晰地知道他到了哪一個步驟;
            我可以再這里干什么?讓用戶一眼看明白這一個頁面是為了展示什么;
            為什么我要在這個頁面?要把核心優(yōu)勢直觀展示出來。用戶不需要去思考在這一頁可以干什么,自然也不需要思考為什么要在這一頁停留。
            用戶都很懶,一旦他弄不明白他在哪個網(wǎng)頁上可以做什么,他可能馬上就關(guān)掉那個網(wǎng)頁。
            4、傾聽用戶需求
            一個B2C的網(wǎng)站,最好是把B和C都找來,聽聽他們各自的需求,請他們互相提要求。請用戶試用網(wǎng)站,并觀察他們的使用習(xí)慣,這總是有百利而無一害的。
            最后,單獨留下C,請他們說說更深層的意見,以及他們是如何與網(wǎng)站交互,哪些功能很好,哪些多余等等。
            5、定價
            對于電商網(wǎng)站來說,定價是一件至關(guān)重要的事。消費者除了關(guān)心數(shù)字,還關(guān)心價值,除了數(shù)字,還可以在文案、圖片上面做工作。一個完美的定價不是一味只考慮便宜,而是要讓消費者覺得他占到了便宜。
            6、嘗試提價
            不要想當(dāng)然地認(rèn)為價錢便宜就一定會提升銷量,反之,價格高也不等于銷量少。有的消費者看到價錢便宜的商品會懶得點開看,因為覺得“便宜沒好貨”,實際上那個商品質(zhì)量還不錯——所以定價要秉著一分貨一分錢的原則。
            此外,還可以嘗試小額的加價。比如一次加2%,看看銷售量如何,在消費者承受范圍之內(nèi)再加個2%,小額的加價不會讓用戶覺得你在漫天要價。 7、測試社交因素
            很多產(chǎn)品旁邊都有一鍵分享至社交網(wǎng)站的功能。但是,電商們有真正調(diào)查過這些功能會提升還是抑制銷量嗎?
            我看過一個很有意思的調(diào)研報告:說是一個祛痘產(chǎn)品的頁面因為有了分享功能而減少了25%的銷量。畢竟,有的敏感的商品消費者是不愿意和別人分享的(設(shè)想一下如果人家買的是杜蕾斯或是什么,你也要他分享到Facebook上嗎)。
            8、把廣告位放低一點
            常識可能告訴你廣告位越高越顯眼就會給目標(biāo)頁面帶來更多流量——但是A\B測試通常就是要測那些自以為是常識的東西。
            你花了一定的成本獲得了一個位置很好的廣告位,這個廣告為你提升了50%的銷量,但實際上這些收益還抵不上你為廣告花費的成本。稍微算一算你就知道投入產(chǎn)出比了。這個報告告訴我們:即便你認(rèn)為是常識的東西,也不妨去做一個A\B測試。
            9、測試每一個“黃金準(zhǔn)則”
            上一條告訴你要測試常識性的東西,這一條還要補(bǔ)充一點:測試看起來是黃金準(zhǔn)則的準(zhǔn)則。黃金準(zhǔn)則之所以黃金,也是因為經(jīng)過了無數(shù)次的測試(那么也不在乎再多倍測試一次),比如標(biāo)題黨會讓客戶對你的信譽(yù)產(chǎn)生質(zhì)疑,這就是一條黃金準(zhǔn)則。
            但是,非常時段可以用一些非常方法,如果銷售結(jié)果總是不如預(yù)期,那么你也可以去測一下是不是某條黃金準(zhǔn)則出了問題。
            10、利用一些工具
            如果你需要找到數(shù)據(jù)變動的原因又不想花太多時間,可以用一些第三方工具,比如Silverback,可以幫你記錄用戶在網(wǎng)頁上的操作并給出有效的數(shù)據(jù)。
            11、時刻記得支撐起轉(zhuǎn)化率的“三只腳”
            相關(guān)性:你的登陸頁是否滿足用戶的預(yù)期?你能保持這種風(fēng)格的連貫性?
            價值:你能符合用戶的價值期待嗎?你能給他們想要的東西?
            應(yīng)激性:用戶知道自己來這個網(wǎng)站要干什么嗎?用戶知道要怎么操作嗎?
            12、試試不同的遣詞
            微小的網(wǎng)頁調(diào)整會改變轉(zhuǎn)化率,微小的用詞上的改變當(dāng)然也可以引起不同的結(jié)果。比如,“Join Now”和“Buy Now&rdquo;哪一個更能刺激用戶的購買欲?測試一下。同理,整個網(wǎng)頁上的文案風(fēng)格的轉(zhuǎn)變也能造成不同的效果。
            13、一個頁面只展示一個信息
            轉(zhuǎn)化率最高的頁面都有一個共同特點:一個頁面集中展示一個信息,不要讓你的用戶感到迷茫,讓他們看一眼就知道想干什么可以干什么。
            14、測試哪個屬性是最吸引的
            一個商品有無數(shù)個屬性,價格、顏色、材質(zhì)、產(chǎn)地,等等,那一種屬性對用戶構(gòu)成最致命的吸引?一個一個地嘗試。再一次重申,不要想當(dāng)然的替消費者決定他們在標(biāo)題里最想看到的是哪一個,你要測試才知道。
            15、連小得變態(tài)的細(xì)節(jié)都不放過
            2007年AJ Kohn測試了兩個域名www.YourDomain.com和www.yourdomain.com,僅僅是首字母大小寫的問題,結(jié)果令人大吃一驚:大寫的那個點擊率比小寫的高出53%!這個事件說明有時候你看不上眼的小細(xì)節(jié)也能造成很不同的后果。
            16、完美?No!
            有的人想要做出“完美”的登錄頁面,可是我想告訴你,沒有完美的頁面,A\B測試的精髓就是讓每一次測試的結(jié)果都比上次更好。
            那句廣告語是怎么說的?沒有最好,只有更好。
            17、尋求成本更低的測試方式
            A\B測試不是要讓你用最新的技術(shù)、最新的軟件或者算法,大部分時候一個紙上的原型或者線框里5秒鐘的測試都能幫你找到方向。好好利用那些簡單、低廉的測試方式。
            18、等到測試完成
            上文里無數(shù)次地強(qiáng)調(diào)不要想當(dāng)然,在測試沒有結(jié)束之前,所有的數(shù)據(jù)都可能是片面的,不要想著用部分的結(jié)果去替代全部。
            19、永遠(yuǎn)不停地測試
            A\B測試的精髓就在于:永遠(yuǎn)不要滿足于目前的結(jié)果,總有更好的解決方案。一次的A\B測試也許能提升50%甚至更好的轉(zhuǎn)換率,但這并不意味著到頂了。生命不息,測試不止。

          posted @ 2014-09-09 10:05 順其自然EVO 閱讀(171) | 評論 (0)編輯 收藏

          高性能Web服務(wù)器Nginx的配置與部署研究(15)Upstream負(fù)載均衡模塊

          轉(zhuǎn)載請注明來自“柳大的CSDN博客”:http://blog.csdn.net/poechant

          更多文章請瀏覽CSDN專欄《Nginx高性能Web服務(wù)器》或服務(wù)器后端開發(fā)系列——《實戰(zhàn)Nginx高性能Web服務(wù)器》


          Nginx 的 HttpUpstreamModule 提供對后端(backend)服務(wù)器的簡單負(fù)載均衡。一個最簡單的 upstream 寫法如下:


          upstream backend {

          server backend1.example.com;

          server backend2.example.com;

          server.backend3.example.com;

          }


          server {

          location / {

          proxy_pass http://backend;

          }

          }


          1、后端服務(wù)器


          通過 upstream 可以設(shè)定后端服務(wù)器,指定的方式可以是IP 地址與端口、域名、UNIX 套接字(socket)。其中如果域名可以被解析為多個地址,則這些地址都作為 backend。下面舉例說明:


          upstream backend {

          server blog.csdn.net/poechant;

          server 145.223.156.89:8090;

          server unix:/tmp/backend3;

          }


          第一個 backend 是用域名指定的。第二個 backend 是用 IP 和端口號指定的。第三個 backend 是用 UNIX 套接字指定的。


          2、負(fù)載均衡策略


          Nginx 提供輪詢(round robin)、用戶 IP 哈希(client IP)和指定權(quán)重 3 種方式。


          默認(rèn)情況下,Nginx 會為你提供輪詢作為負(fù)載均衡策略。但是這并不一定能夠讓你滿意。比如,某一時段內(nèi)的一連串訪問都是由同一個用戶 Michael 發(fā)起的,那么第一次 Michael 的請求可能是 backend2,而下一次是 backend3,然后是 backend1、backend2、backend3……在大多數(shù)應(yīng)用場景中,這樣并不高效。當(dāng)然,也正因如此,Nginx 為你提供了一個按照 Michael、Jason、David 等等這些亂七八糟的用戶的 IP 來 hash 的方式,這樣每個 client 的訪問請求都會被甩給同一個后端服務(wù)器。(另外,由于最近發(fā)現(xiàn)很多網(wǎng)站以不留原文鏈接的方式盜取本博博文,所以我就在這插一下本博的地址“http://blog.csdn.net/poechant”)具體的使用方式如下:


          upstream backend {

          ip_hash;

          server backend1.example.com;

          server backend2.example.com;

          server.backend3.example.com;

          }


          這種策略中,用于進(jìn)行hash 運算的 key,是 client 的 C 類 IP 地址(C 類 IP 地址就是范圍在 192.0.0.0 到 223.255.255.255 之間,前三段號碼表示子網(wǎng),第四段號碼為本地主機(jī)的 IP 地址類別)。這樣的方式保證一個 client 每次請求都將到達(dá)同一個 backend。當(dāng)然,如果所 hash 到的 backend 當(dāng)前不可用,則請求會被轉(zhuǎn)移到其他 backend。


          再介紹一個和 ip_hash 配合使用的關(guān)鍵字:down。當(dāng)某個一個 server 暫時性的宕機(jī)(down)時,你可以使用“down”來標(biāo)示出來,并且這樣被標(biāo)示的 server 就不會接受請求去處理。具體如下:


          upstream backend {

          server blog.csdn.net/poechant down;

          server 145.223.156.89:8090;

          server unix:/tmp/backend3;

          }


          還可以使用指定權(quán)重(weight)的方式,如下:


          upstream backend {

          server backend1.example.com;

          server 123.321.123.321:456 weight=4;

          }


          默認(rèn)情況下 weight 為 1,對于上面的例子,第一個 server 的權(quán)重取默認(rèn)值 1,第二個是 4,所以相當(dāng)于第一個 server 接收 20% 的請求,第二接收 80% 的。要注意的是weight 與 ip_hash 是不能同時使用的,原因很簡單,他們是不同且彼此沖突的策略。


          3、重試策略


          可以為每個 backend 指定最大的重試次數(shù),和重試時間間隔。所使用的關(guān)鍵字是 max_fails 和 fail_timeout。如下所示:


          upstream backend {

          server backend1.example.com weight=5;

          server 54.244.56.3:8081 max_fails=3fail_timeout=30s;

          }


          在上例中,最大失敗次數(shù)為 3,也就是最多進(jìn)行 3 次嘗試,且超時時間為 30秒。max_fails 的默認(rèn)值為 1fail_timeout 的默認(rèn)值是 10s。傳輸失敗的情形,由 proxy_next_upstream 或 fastcgi_next_upstream 指定。而且可以使用 proxy_connect_timeout 和 proxy_read_timeout 控制 upstream 響應(yīng)時間。


          有一種情況需要注意,就是 upstream 中只有一個 server 時,max_fails 和 fail_timeout 參數(shù)可能不會起作用。導(dǎo)致的問題就是 nginx 只會嘗試一次 upstream 請求,如果失敗這個請求就被拋棄了 : (……解決的方法,比較取巧,就是在 upstream 中將你這個可憐的唯一 server 多寫幾次,如下:


          upstream backend {

          server backend.example.com max_fails fail_timeout=30s;

          server backend.example.com max_fails fail_timeout=30s;

          server backend.example.com max_fails fail_timeout=30s;

          }


          4、備機(jī)策略


          從 Nginx 的 0.6.7 版本開始,可以使用“backup”關(guān)鍵字。當(dāng)所有的非備機(jī)(non-backup)都宕機(jī)(down)或者繁忙(busy)的時候,就只使用由 backup 標(biāo)注的備機(jī)。必須要注意的是,backup 不能和 ip_hash 關(guān)鍵字一起使用。舉例如下:


          upstream backend {

          server backend1.example.com;

          server backend2.example.com backup;

          server backend3.example.com;

          }


          轉(zhuǎn)載請注明來自“柳大的CSDN博客”:http://blog.csdn.net/poechant

          更多文章請瀏覽CSDN專欄《Nginx高性能Web服務(wù)器》或服務(wù)器后端開發(fā)系列——《實戰(zhàn)Nginx高性能Web服務(wù)器》

          posted @ 2014-09-09 09:31 順其自然EVO 閱讀(170) | 評論 (0)編輯 收藏

          Cacti監(jiān)控Redis實現(xiàn)過程

           Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具。被廣泛的用于對服務(wù)器的運維監(jiān)控中,Cacti提供了一種插件式的管理,只要按要求寫好特定的模板,那么你就可以對任何服務(wù)進(jìn)行流量監(jiān)控。本文就是要為大家介紹兩個模板,分別是MongoDB和Redis的Cacti模板,使用它,你可以對你的MongoDB和Redis服務(wù)進(jìn)行流量監(jiān)控。
            1,升級python,此時如果是系統(tǒng)默認(rèn)的python版本,會出現(xiàn)以下錯誤
          python setup.py install
          Traceback (most recent call last):
          File "setup.py", line 3, in ?
          from redis import __version__
          File "/usr/local/src/redis-2.4.11/redis/__init__.py", line 1, in ?
          from redis.client import Redis, StrictRedis
          File "/usr/local/src/redis-2.4.11/redis/client.py", line 240
          with self.pipeline(True, shard_hint) as pipe:
          ^
          SyntaxError: invalid syntax
            2,安裝python,先配置python環(huán)境,下載python源代碼
          wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2
          $ tar –jxvf Python-2.5.2.tar.bz2
          $ cd Python-2.5.2
          $ ./configure
          $ make
          $ make install
          [root@mysqlvm2 Python-2.5.2]# python
          Python 2.4.3 (#1, Jun 11 2009, 14:09:37)
          [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
          Type "help", "copyright", "credits" or "license" for more information.
          >>>
            Version還是2.4.3的,解決辦法如下:
            #cd /usr/bin
            #ll |grep python   //查看該目錄下python
            #rm -rf python
            重新做個軟連接就可以了
            [root@mysqlvm2 Python-2.5.2]# ln -s /usr/local/bin/python /usr/bin/python
            [root@mysqlvm2 Python-2.5.2]#
            [root@mysqlvm2 Python-2.5.2]# python
            Python 2.5.2 (r252:60911, Aug  4 2014, 14:43:36)
            [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
            Type "help", "copyright", "credits" or "license" for more information.
            >>>
           3,然后下載redis的模板
            wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
            配置監(jiān)控腳本
            mongodb或redis的監(jiān)控所需到的是你下載目錄中的better-cacti-templates-1.1.8\scripts下的
            ss_get_by_ssh.php 這個腳本 這個腳本需要放在cacti的服務(wù)端。
            如果你cacti是裝到/var/www/html/cacti/目錄下。
            把該文件放在其下面的scripts目錄下。別忘了看下權(quán)限。要有執(zhí)行權(quán)限。
            然后修改該文件。主要修改一下選項,大概在40行。
            # ============================================================================
            $ssh_user   = 'root';                          # SSH username
            $ssh_port   = 22;                               # SSH port
            $ssh_iden   = '-i /root/.ssh/id_rsa';   # SSH identity
            ##修改根據(jù)你的配置,你的ssh連接用戶,還有認(rèn)證私鑰的位置。
            大該在50行,還可以修改其默認(rèn)的去探測的端口(如果redis不是正常默認(rèn)端口啟動需要修改這些)。
            $redis_port    = 6379;                    # Which port redis listens on
            4,導(dǎo)入模板,模板目錄為better-cacti-templates-1.1.8\templates
            在cacti界面導(dǎo)入界面,創(chuàng)建redis服務(wù)器的Graph,如下所示:
            5,去查看Graph效果圖,如下所示:

          posted @ 2014-09-05 11:00 順其自然EVO 閱讀(861) | 評論 (0)編輯 收藏

          數(shù)據(jù)庫系統(tǒng)load飆高問題解決思路

           工作過程中有時候會接收到數(shù)據(jù)庫服務(wù)器器load 飆高的報警,比如:
            load1 15.25 base: 8.52,collect time:2014-08-30
            如何處理load 異常飆高的報警呢? 本文嘗試從原理,原因,解決方法來闡述這類問題的解決思路。
            一 原理分析
            CPU作為服務(wù)器的關(guān)鍵資源經(jīng)常成為性能瓶頸的根源,CPU使用率高并不總是意味著CPU工作繁忙,它有可能是正在等待其他子系統(tǒng)。在進(jìn)行性能分析時,將所有子系統(tǒng)當(dāng)做一個整體來看是非常重要的,因為在子系統(tǒng)中可能會出現(xiàn)瀑布效應(yīng)。衡量CPU 系統(tǒng)負(fù)載的指標(biāo)是load,load 就是對計算機(jī)系統(tǒng)能夠承擔(dān)的多少負(fù)載的度量,簡單的說是進(jìn)程隊列的長度。簡單的例子比如食堂有五個窗口,當(dāng)有小于五個學(xué)生來打飯,五個窗口都能及時處理,但是當(dāng)學(xué)生個數(shù)超過5個,必然會出現(xiàn)等待的學(xué)生。請求大于當(dāng)前的處理能力,會出現(xiàn)等待,引起load升高。
            Load Average 就是一段時間(1min,5min,15min)內(nèi)平均Load。平均負(fù)載的最佳值是1,這意味著每個進(jìn)程都可以在一個完整的CPU 周期內(nèi)完成。
            14:50:31 up 166 days,  1:54, 295 users,  load average: 0.05, 0.04, 0.00
            二 原因分析
            一般導(dǎo)致MySQL服務(wù)器load飆高的原因可能有以下幾種情況:
            1 業(yè)務(wù)并發(fā)調(diào)用全表掃描/帶有order by 排序的SQL語句.
            2 SQL語句沒有合適索引/執(zhí)行計劃出錯/update/delete where掃描全表,阻塞其他訪問相同表的sql執(zhí)行.
            3 存在秒殺類似的業(yè)務(wù)比如聚劃算10點開團(tuán)或者雙十一秒殺,瞬時海量訪問給數(shù)據(jù)庫帶來沖擊。
            4 數(shù)據(jù)庫做邏輯備份(需要全表掃描)或者多實例的壓縮備份(壓縮時需要大量的cpu計算,會導(dǎo)致系統(tǒng)服務(wù)器load飆高)
            5 磁盤寫入方式改變 比如有writeback 變?yōu)?write through
            RAID卡都有寫cache(Battery Backed Write Cache),寫cache對IO性能的提升非常明顯,因為掉電會丟失數(shù)據(jù),所以必須由電池提供支持。
            電池會定期充放電,一般為90天左右,當(dāng)發(fā)現(xiàn)電量低于某個閥值時,會將寫cache策略從writeback置為writethrough,相當(dāng)于寫cache會失效,這時如果系統(tǒng)有大量的IO操作,可能會明顯感覺到IO響        應(yīng)速度變慢,cpu 隊列堆積系統(tǒng)load 飆高。
            6 其他 歡迎補(bǔ)充 。
            三 解決方法
            在Load average 高的情況下如何鑒別系統(tǒng)瓶頸?如何判斷系統(tǒng)是否已經(jīng)Over Load呢?要去檢查判斷是CPU不足,還是io不夠快造成或是內(nèi)存不足?
            這里筆者處理的方式 一般根據(jù)cpu數(shù)量去判斷,也就是Load平均要小于CPU的數(shù)量,負(fù)載的正常值在不同的系統(tǒng)中有著很大的差別。在單核處理器的工作站中,1或2都是可以接受的。多核處理器的服務(wù)器(比如24核)上,load 會到達(dá)20 ,甚至更高。以多實例混合公用一臺24核物理機(jī)為例,當(dāng)DBA收到數(shù)據(jù)庫服務(wù)器load 飆高報警后,一般的處理步驟
            a) 數(shù)據(jù)庫層面
            1 top -u mysql -c 檢查當(dāng)前占用cpu資源最多的進(jìn)程命令。-c 是為了顯示出進(jìn)程對應(yīng)的執(zhí)行命令語句,方便查看是什么操作導(dǎo)致系統(tǒng)load飆高。
            2 根據(jù)不同的情況獲取pid 或者M(jìn)ySQL的端口號
            3 如果是MySQL 數(shù)據(jù)庫服務(wù)導(dǎo)致laod 飆高,則可以使用如下命令
            show processlist;
            SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND <> 'sleep' AND TIME>100;
            或
            orzdba 工具檢查邏輯讀/thread active的值。用法orzdba --help
            orztop 工具檢查當(dāng)前正在執(zhí)行的慢sql,用法orztop -P $port
            4 獲取異常的sql之后,剩下的比較好解決了。結(jié)合第一部分中的幾條原因
            a 選擇合適的索引
            b 調(diào)整sql 語句 比如對應(yīng)order by 分頁采用延遲關(guān)聯(lián)
            c 業(yè)務(wù)層面增加緩存,減少對數(shù)據(jù)庫的直接訪問等
            b) OS 系統(tǒng)層面 檢查系統(tǒng)IO
            使用iostat 命令查看r/s(讀請求),w/s(寫請求),avgrq-sz(平均請求大小),await(IO等待), svctm(IO響應(yīng)時間)
            r/s ,w/s是每秒讀/寫請求的次數(shù)。
            util是設(shè)備的利用率。如果它接近100%,通常說明設(shè)備能力趨于飽和(并不絕對,比如設(shè)備有寫緩存)。有時候可能會出現(xiàn)大于100%的情況,這多半是計算時四舍五入引起的。
            svctm是平均每次請求的服務(wù)時間。這里有一個公式:(r/s+w/s)*(svctm/1000)=util。舉例子:如果util達(dá)到100%,那么此時  svctm=1000/(r/s+w/s),假設(shè)IOPS是1000,則svctm大概在1毫秒左右,如果長時間大于這個數(shù)值,說明系統(tǒng)出了問題。
            await是平均每次請求的等待時間。這個時間包括了隊列時間和服務(wù)時間,也就是說,一般情況下,await大于svctm,它們的差值越小,隊列時間越短,反之差值越大,隊列時間越長,說明系統(tǒng)出了問題。
            avgqu-sz是平均請求隊列的長度。毫無疑問,隊列長度越短越好。

          posted @ 2014-09-05 10:59 順其自然EVO 閱讀(1818) | 評論 (0)編輯 收藏

          BigInteger在Java8中的改進(jìn)

          BigInteger在Java8里增加了一組方法:
          public byte byteValueExact()
          public int intValueExact()
          public long longValueExact()
            這些方法后面都有Exact(),在老的JDK版本中,已經(jīng)有了byteValue,intValue,longValue()為什么還要再增加這些方法呢?
            因為在原來的方法中,如果BigInteger的值溢出了要目標(biāo)類型的范圍,是不會有任何提示的,那么我們的程序很可能在一個很隱蔽的錯誤下執(zhí)行,沒有任何錯誤輸出,但是程序依然會繼續(xù)執(zhí)行,這種錯誤很難很難查。。。。。(大家可以想象一下,一個數(shù)值被突然改變了,不是很仔細(xì)的看,很難看出來),
            有了新的XXXExact()方法,這一切都好辦了,XXXExact()方法會在溢出的時候,拋出一個異常
          public long longValueExact() {
          if (mag.length <= 2 && bitLength() <= 63)
          return longValue();
          else
          throw new ArithmeticException("BigInteger out of long range");
          }
            這樣,我們就是可以在溢出時得到一個通知,進(jìn)行處理。

          posted @ 2014-09-05 10:53 順其自然EVO 閱讀(176) | 評論 (0)編輯 收藏

          分享一種需求評審的方案

           項目過程的初期一項重要的工作就是評審需求,每個公司或者團(tuán)隊可能都有自己的一套流程、方案,但有效的需求評審,離不開產(chǎn)品和研發(fā)的共同參與。本文所分享的方案主要是針對這一輪或若干輪產(chǎn)品、研發(fā)共同參與的評審。
            這樣的需求評審在研發(fā)側(cè)往往只有研發(fā)主管盡心去了解了具體的需求細(xì)節(jié),在研發(fā)參與需求評審的會議上,大部分研發(fā)的同學(xué)也像走馬觀花一邊純粹聽了一遍產(chǎn)品的同學(xué)朗讀需求文檔,事后開發(fā)的時候又發(fā)現(xiàn)很多細(xì)節(jié)問題,有沒有??
            下面是要給大家分享的一個方案,這個是我在我們項目組中推行實踐過的方案。
            其實說起來很簡單,就是把需求評審會議上的角色轉(zhuǎn)換一下,讓研發(fā)的同學(xué)來講解需求文檔,讓產(chǎn)品的同學(xué)來聽。貌似每個產(chǎn)品的同學(xué)聽到這個方案都是先叫好的,好像是讓他們從這個會議的朗誦角色中解脫了,負(fù)擔(dān)輕了一大截似的。其實,應(yīng)該說產(chǎn)品的同學(xué)負(fù)擔(dān)會更重了。
            那么下面講講實施細(xì)則
            1.要求研發(fā)的同學(xué)在評審之前仔細(xì)閱讀需求文檔并有所思。一般到了研發(fā)參與評審的階段,需求文檔已經(jīng)包括了相當(dāng)?shù)募?xì)節(jié)。而研發(fā)的同學(xué)應(yīng)該有自己的思想,要能夠挑出文檔中的問題,能夠做到有效的補(bǔ)充。這對于研發(fā)的同學(xué)來說是提高了要求。在我們團(tuán)隊實施這一方案的初期,由于團(tuán)隊規(guī)模本就不大(5人以下),所以當(dāng)時我給出的要求是每個人都要熟悉我們負(fù)責(zé)部分的需求,要能提出有效的問題,評審時隨機(jī)挑選一名同學(xué)來進(jìn)行講解,講解完后其他同學(xué)的問題也可以提出。對于規(guī)模稍大的團(tuán)隊可能需要做些修改,可以把需求切割,再把團(tuán)隊切割(3人一組也許比較好),照例還是要求一部分人必須熟悉至少一塊需求。這樣做的目的主要是由一種壓迫感“強(qiáng)制”研發(fā)側(cè)的同學(xué)去思考產(chǎn)品需求,后面應(yīng)當(dāng)逐步轉(zhuǎn)化為“自覺”的去思考才算達(dá)到了目的。
            2.文檔的要求,研發(fā)的同學(xué)需要時間來熟悉文檔,哪怕讓他看一遍可以在上下班的路上來思考,但起碼應(yīng)該在評審的前一天就有文檔發(fā)到研發(fā)手里,讓研發(fā)的同學(xué)可以開始熟悉需求。具體的哪些方面應(yīng)該細(xì)節(jié)化,哪些方面可以延時細(xì)節(jié)化,視研發(fā)和產(chǎn)品直接的配合習(xí)慣來確定,這方面需要產(chǎn)品的同學(xué)把握。
            3.會議中對產(chǎn)品同學(xué)的要求,不要認(rèn)為研發(fā)的同學(xué)去講解,產(chǎn)品的同學(xué)就沒事可做了,相反,產(chǎn)品的同學(xué)可能要做的事情更重要了,產(chǎn)品的同學(xué)需要用心聆聽研發(fā)同學(xué)的講解,盡量盡早的發(fā)現(xiàn)研發(fā)同學(xué)對于需求的誤解。而研發(fā)同學(xué)也往往會讓產(chǎn)品的同學(xué)更清楚得認(rèn)識到哪些功能可能是暫時行不通的,甚至研發(fā)的同學(xué)還可能給產(chǎn)品的同學(xué)提供新的思路。
            當(dāng)然各個團(tuán)隊自己的評審需求的流程可能都不一樣,可以根據(jù)自己的需要來做調(diào)整。這個方案在我們團(tuán)隊經(jīng)歷的項目過程中實施,個人感覺還是有效果的,沒有消滅研發(fā)過程中再去發(fā)現(xiàn)細(xì)節(jié)問題,但有效的減少了此類問題,特別是誤解。

          posted @ 2014-09-05 10:50 順其自然EVO 閱讀(226) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共394頁: First 上一頁 51 52 53 54 55 56 57 58 59 下一頁 Last 
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 遂平县| 莱西市| 北海市| 桓仁| 东方市| 饶河县| 保定市| 古田县| 梁平县| 榆林市| 瑞安市| 临沭县| 仪陇县| 平乐县| 邛崃市| 大足县| 三明市| 江山市| 长宁区| 区。| 塔城市| 洪江市| 舒兰市| 股票| 巴林左旗| 区。| 胶州市| 安多县| 泰来县| 县级市| 荣成市| 子长县| 镇赉县| 沅陵县| 古浪县| 门头沟区| 长丰县| 文登市| 湖口县| 田东县| 平远县|