Time of Update: 2015-06-17
標籤:最近一台linux伺服器出現異常,系統反映很慢,相應的應用程式也無法反映,而且還出現死機的情況,經過幾天的觀察瞭解,探索服務器壓力很大,主要的壓力來自硬碟的IO訪問已經達到100% 為了方便各位和自己今後遇到此類問題能儘快解決,我這裡將查看linux伺服器硬碟IO訪問負荷的方法同大家一起分享: 首先 、用top命令查看 top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14 Tasks:
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。(一)、自訂菜單--刪除import ("bytes""encoding/json""fmt""github.com/astaxie/beego""io/ioutil""net/http") var url_del =
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。var txt = `{key1 = "\"value1\"\n" | key2 = { key3 = 10 } | key4 = {key5 = { key6 = value6}}}`var s scanner.Scanners.Init(strings.NewReader(txt))var b []byteloop: for { switch tok := s.Scan();
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go程式一般都會有很多的goroutine,panic列印了滿屏的goroutine的資訊,而且windows內建的控制台能顯示的資訊很有限,這樣就出錯的提示資訊總是會被刷掉了。以前用過console2來替代控制台,但是這個軟體不是很友好,通常顯示的資訊的格式問題比較多,而且漢字顯示問題很大。今天又仔細的研究了下發現以前網上看的的SetStdHandle代碼改動下就可以了。代碼如下,只要把var f
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。直接上代碼package mainimport (l "container/list""fmt""time")var (name = "viney")func list() {names := l.New()t := time.Now()for i := 1; i <= 1000000; i++ {_ =
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。參考了幾份資料。未查閱源碼,故不是非常肯定。總結幾點: new會分配結構空間,並初始化為清空為零,不進一步初始化 new之後需要一個指標來指向這個結構 make會分配結構空間及其附屬空間,並完成其間的指標初始化 make返回這個結構空間,不另外分配一個指標例子new: var p *[]int = new([]int) 或 p := new([]int)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 因為工作的需要,接觸了websocket,開始的一些很簡單的代碼,都不知道該怎樣運行起來,所以,總是有一層神秘感,卻沒有太多的興趣去研究它。不過,還是免不了要瞭解一些才不至於對於後續的工作有影響。從塌下心來學習,到最後完成編碼測試,不超過一周,遇到了很多問題,萬幸,通過自己的思考和師傅們幫忙都解決了。
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。關於DNS協議的具體內容可以查看RFC1035,如果英語不太好我推薦下面這個人的譯文:http://blog.csdn.net/tigerjibo/article/details/6827736 翻譯的足夠詳盡了。那麼來看下Go的實現:package mainimport ("bytes""encoding/binary""fmt""net""strings&
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以我自己的項目為例,項目的目錄結構是這樣的:1、我有兩個項目,一個項目做為基礎項目,裡面的方法大都具有通用性。2、還有一個正在開發的項目,這個項目需要調用基礎項目裡的很多函數。現在基礎項目裡有一個包含所有對資料庫進行操作的函數的檔案,名叫servicebase.go,包名:db代碼如下:packaeg dbtypeServiceBasestruct{ DBE
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。nginx 配置 01#列出所有伺服器位址,nginx 自動均衡分發請求到各個伺服器。 02upstream frontends { 03 ip_hash; 04 server 192.168.199.1:8088;05 server 192.168.199.2:8089;06}07server {08 listen 80;09 server_name mydomain.com
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。直接上代碼:var ( randSeek = int64(1) l sync.Mutex)//擷取指定長度的隨機字串//@params num int 產生的隨機字串的長度//@params str string 可選,指定隨機的字串func GetRandomSring(num int, str ...string) string { s :=
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文連結: http://www.cloudnoter.com/?p=131flag包是用來處理命令參數的。總得來說,其通過將命令列標誌與某一具體變數進行綁定,開發人員通過使用該變數進行商務邏輯處理。一、FlagSet是該包的核心類型:type FlagSet struct { // Usage is the function called when an error occurs while parsing flags.
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 試用了下FlatBuffers,把一些東東記錄一下。 FlatBuffers 官網: http://google.github.io/flatbuffers/md__go_usage.html它支援產生Go語言相關的東西,總的使用步驟如下: 1. 定義IDL 介面定義檔案,通常命名為.fbs 參考: Writing a schema http://google.github.
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go檔案package main import ("fmt""encoding/xml""os""text/template")type Member struct {Name string `xml:"name,attr"`Comment string `xml:"comment,attr"`}type Struct struct {
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一下載安裝包 到 https://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+Type-Archive下載合適的版本,我選擇的是:go1.2.linux-386.tar.gz 然後解壓 :tar -xzvf go1.2.linux-386.tar.gz二 配置e $mv
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在run命令裡輸入:cmd /k go run "$(FULL_CURRENT_PATH)" & PAUSE &
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。(pprof) top Total: 53.0 MB 29.5 55.7% 55.7% 29.5 55.7% reflect.unsafe_NewArray 20.0 37.7% 93.4% 20.0 37.7% encoding/json.(*decodeState).literalStore 2.5 4.7% 98.1% 2.5 4.7%
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一 包的匯入文法 在寫Go代碼的時候經常用到import這個命令用來匯入包檔案,看到的方式參考如下: import( "fmt" ) 然後在代碼裡面可以通過如下的方式調用 fmt.Println("hello world")
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go代碼很簡單 就可以實現簡單的聊天server.gopackage main import ("fmt";"net")const (ip = ""port = 3333)func main() {listen,err := net.ListenTCP("tcp", &net.TCPAddr{net.ParseIP(ip), port, ""