go語言很給力呀

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

最近因為項目需要,所以寫了一個id產生器,於是當時想為了省事就用go語言來寫得了,於是花了大概半天的時間寫了300多行碼,完成之後開始測效能。一開始是在自己的虛擬機器上測的,用戶端是用php的,結果發現php在單進程環境下只能跑30個請求,這個結果其實也不意外,因為這根本就不是伺服器的問題,而是php本身的效能不行,所以壓力壓不上去。於是用pcntl_fork出多個進程來,每個進程跑一些請求,最後在主進程裡計算總的時間,結果發現1s最多處理1000-2000之間,並且隨著並發數增多,效能下降很快。這個結果讓人比較意外,原以為go語言的效能會好很多。 後來仔細想了想,突然想起來有個參數可以設定runtime.MAXPROC,用於設定可以使用的cpu數目。於是在設定了這個參數之後又開始測試,一開始效能果然比原來好了很多,可以到4000多個,但是這個時候看cpu使用率,依然不是很高,大約只有60%。於是想到可能是因為測試用的是虛擬機器,它本身運行於單核之上,壓力根本上不去。最終將伺服器放在一個機器上,測試指令碼放在另一台上,用MAXPROC=4來進行測試,結果每s鐘可以處理大約8000這個請求。這個結果很令人欣喜,只用了300行碼,其中還包括了商務邏輯,說白了實際的網路部分可能只有幾十行而已,就能達到這樣的效果,實在是相當不錯了。

看來以後的伺服器代碼編寫,完全可以使用go語言來編寫了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.