參照的是 這個文章

創(chuàng)新互聯(lián)建站成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元杭州做網(wǎng)站,已為上家服務(wù),為杭州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
首先自己寫一段demo
里面負(fù)責(zé)2件事
doSomeThingOne
genSomeBytes
運行這個程序go run main.go
To install thewrk,you need only:
git clone
cd wrk
make
wrk relies on the openssl and luajit, learn more from its github page
Generating requests
Our demo is listening on the port 9876 ,so let's generate some requests for that.
./wrk -c400 -t8 -d5m
-c400means we have 400 connections to keep open
-t8means we use 8 threads to build requests
-d5mmeans the duration of the test will last for 5 minutes
用這段命令來壓服務(wù)器
Our server is very busy now and we can see some information via browser. Inputlocalhost:9876/debug/pprofyou will see:
然后用命令進(jìn)入
在這里能看見各種方法的運行時間
所以我們安裝Graphviz 在mac下
brew install graphviz
之后再這個(pprof)里面輸入web
會生產(chǎn)一個svg文件
用瀏覽器打開我們就會看到
很顯然gensomebytes里面的math方法最消耗時間。這個就是我們優(yōu)化的對象
其實也很方便在
localhost:9876/debug/pprof/profile改成
localhost:9876/debug/pprof/heap
后面的結(jié)果一樣。。和cpu一樣可以看到那個heap占用了大量的內(nèi)存到時候優(yōu)化吧
這個文章里面的第一個方法就可以做測試內(nèi)存占用的.
有空試試把
分布式程序 A B C D 4個進(jìn)程在服務(wù)器. 監(jiān)控程序E 打包程序F
寫一個監(jiān)控程序定時監(jiān)控這4個進(jìn)程的CPU 內(nèi)存(搞成配置文件)
達(dá)到性能瓶頸(例如 90%CPU 內(nèi)存剩下10%)? E用shell觸發(fā)打包程序F把pprof等信息打包.并發(fā)送郵件
給配置者.
Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽為“21世紀(jì)的C語言”。
Go語言在云計算、大數(shù)據(jù)、微服務(wù)、高并發(fā)領(lǐng)域應(yīng)用應(yīng)用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
Go語言能干什么?
1、服務(wù)端開發(fā):以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;
2、DevOps:運維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發(fā);
3、網(wǎng)絡(luò)編程:大量優(yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內(nèi)置的 net/http包十分的優(yōu)秀;
4、Paas云平臺領(lǐng)域:Kubernetes和Docker Swarm等;
5、分布式存儲領(lǐng)域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區(qū)塊鏈領(lǐng)域:區(qū)塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現(xiàn)的;
8、爬蟲及大數(shù)據(jù):Go語言天生支持并發(fā),所以十分適合編寫分布式爬蟲及大數(shù)據(jù)處理。
由于linux的socket監(jiān)聽機制和TCP協(xié)議,多個進(jìn)程無法監(jiān)聽同一個端口,但是具體到nginx,可以多個nginx進(jìn)程監(jiān)聽到不同端口,通過一個主進(jìn)程端口做upstream來實現(xiàn)負(fù)載均衡,這個有點類似于網(wǎng)絡(luò)的匯聚,可以設(shè)置不同的策略,比如iphash,urlhash或者RR。
當(dāng)前文章:go語言進(jìn)程監(jiān)控,go 運行命令
文章路徑:http://chinadenli.net/article28/hedecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計、商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)