真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語(yǔ)言性能監(jiān)控 go語(yǔ)言 調(diào)試

Go語(yǔ)言的應(yīng)用

Go語(yǔ)言由Google公司開(kāi)發(fā),并于2009年開(kāi)源,相比Java/Python/C等語(yǔ)言,Go尤其擅長(zhǎng)并發(fā)編程,性能堪比C語(yǔ)言,開(kāi)發(fā)效率肩比Python,被譽(yù)為“21世紀(jì)的C語(yǔ)言”。

公司專注于為企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、商城網(wǎng)站開(kāi)發(fā),微信小程序,軟件定制開(kāi)發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

Go語(yǔ)言在云計(jì)算、大數(shù)據(jù)、微服務(wù)、高并發(fā)領(lǐng)域應(yīng)用應(yīng)用非常廣泛。BAT大廠正在把Go作為新項(xiàng)目開(kāi)發(fā)的首選語(yǔ)言。

Go語(yǔ)言應(yīng)用范圍:

1、服務(wù)端開(kāi)發(fā):以前你使用C或者C++做的那些事情,用Go來(lái)做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;

2、DevOps:運(yùn)維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語(yǔ)言開(kāi)發(fā);

3、網(wǎng)絡(luò)編程:大量?jī)?yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內(nèi)置的 net/http包十分的優(yōu)秀;

4、Paas云平臺(tái)領(lǐng)域:Kubernetes和Docker Swarm等;

5、分布式存儲(chǔ)領(lǐng)域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;

6、區(qū)塊鏈領(lǐng)域:區(qū)塊鏈里面有兩個(gè)明星項(xiàng)目以太坊和fabric都使用Go語(yǔ)言;

7、容器虛擬化:大名鼎鼎的Docker就是使用Go語(yǔ)言實(shí)現(xiàn)的;

8、爬蟲(chóng)及大數(shù)據(jù):Go語(yǔ)言天生支持并發(fā),所以十分適合編寫(xiě)分布式爬蟲(chóng)及大數(shù)據(jù)處理。

Go語(yǔ)言的優(yōu)勢(shì)有哪些

1. 部署簡(jiǎn)單

Go

編譯生成的是一個(gè)靜態(tài)可執(zhí)行文件,除了glibc外沒(méi)有其他外部依賴。這讓部署變得異常方便:目標(biāo)機(jī)器上只需要一個(gè)基礎(chǔ)的系統(tǒng)和必要的管理、監(jiān)控工具,完全不需要操心應(yīng)用所需的各種包、庫(kù)的依賴關(guān)系,大大減輕了維護(hù)的負(fù)擔(dān)。

2. 并發(fā)性好

Goroutine和channel使得編寫(xiě)高并發(fā)的服務(wù)端軟件變得相當(dāng)容易,很多情況下完全不需要考慮鎖機(jī)制以及由此帶來(lái)的各種問(wèn)題。單個(gè)Go應(yīng)用也能有效的利用多個(gè)CPU核,并行執(zhí)行的性能好。

3. 良好的語(yǔ)言設(shè)計(jì)

從學(xué)術(shù)的角度講Go語(yǔ)言其實(shí)非常平庸,不支持許多高級(jí)的語(yǔ)言特性;但從工程的角度講,Go的設(shè)計(jì)是非常優(yōu)秀的:規(guī)范足夠簡(jiǎn)單靈活,有其他語(yǔ)言基礎(chǔ)的程序員都能迅速上手。更重要的是

Go 自帶完善的工具鏈,大大提高了團(tuán)隊(duì)協(xié)作的一致性。

4. 執(zhí)行性能好

雖然不如 C 和 Java,但相比于其他編程語(yǔ)言,其執(zhí)行性能還是很好的,適合編寫(xiě)一些瓶頸業(yè)務(wù),內(nèi)存占用也非常省。

Go語(yǔ)言使用gorm對(duì)MySQL進(jìn)行性能測(cè)試

之前寫(xiě)過(guò)了Go語(yǔ)言gorm框架MySQL實(shí)踐,其中對(duì)gorm框架在操作MySQL的各種基礎(chǔ)實(shí)踐,下面分享一下如何使用gorm框架對(duì)MySQL直接進(jìn)行性能測(cè)試的簡(jiǎn)單實(shí)踐。

這里我使用了一個(gè)原始的Go語(yǔ)言版本的 FunTester 測(cè)試框架,現(xiàn)在只有一個(gè)基本的方法,實(shí)在是因?yàn)镚o語(yǔ)言特性太強(qiáng)了??蚣茉O(shè)計(jì)的主要思路之一就是利用Go語(yǔ)言的閉包和方法參數(shù)特性,將一個(gè) func() 當(dāng)做性能測(cè)試的主題,通過(guò)不斷運(yùn)行這個(gè) func() 來(lái)實(shí)現(xiàn)性能測(cè)試。當(dāng)然還有另外一個(gè)思路就是運(yùn)行一個(gè)多線程任務(wù)類,類似 Java 版本的 com.funtester.base.constaint.ThreadBase 抽象類,這樣可以設(shè)置一些類的屬性,綁定一些測(cè)試資源,適配更多的測(cè)試場(chǎng)景。

下面演示select的性能測(cè)試,這里我用了隨機(jī)ID查詢的場(chǎng)景。

這里我使用從35開(kāi)始遞增的ID進(jìn)行刪除。

這里使用了select的用例部分,隨機(jī)ID,然后更新name字段,隨機(jī)10個(gè)長(zhǎng)度的字符串。

這里用到了 FunTester 字段都是隨機(jī)生成。

到這里可以看出,性能測(cè)試框架用到的都是gorm框架的基礎(chǔ)API使用,這里MySQL連接池的管理工作完全交給了gorm框架完成,看資料說(shuō)非常牛逼,我們只需要設(shè)置幾個(gè)參數(shù)。這個(gè)使用體現(xiàn)很像 HttpClient 設(shè)置 HTTP 連接池類似,這里我們也可以看出這些優(yōu)秀的框架使用起來(lái)都是非常簡(jiǎn)單的。

PS:關(guān)于gorm的基礎(chǔ)使用的請(qǐng)參考上一期的文章Go語(yǔ)言gorm框架MySQL實(shí)踐。


當(dāng)前名稱:go語(yǔ)言性能監(jiān)控 go語(yǔ)言 調(diào)試
文章鏈接:http://weahome.cn/article/doeisgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部