diff --git a/README.MD b/README.MD
index 3829c7c..a2b1857 100644
--- a/README.MD
+++ b/README.MD
@@ -1,23 +1,41 @@
 GODNS
 ====
 
-A tiny dns cache server written by go.
+A simple and fast dns cache server written by go.
 
 
 Similar as [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) ,but support some difference features:
 
 
-* Keep hosts configuration in redis instead of local file /etc/hosts  
-  So can be updated from remote server    
+* Keep hosts records in redis instead of the local file /etc/hosts  
 
 * Atuo-Reload when hosts configuration changed. (Yes,dnsmasq need restart)
 
 * Cache records save in memory or redis configurable
 
 
-## Install
+## Install & Running
 
-## Running
+1. Install  
+
+		$ go get github.com/kenshinx/godns
+
+
+2. Build  
+
+		$ cd $GOPATH/src/github.com/kenshinx/godns 
+		$ go build -o godns *.go
+
+
+3. Running  
+
+		$ sudo ./godns -c godns.conf
+
+
+4. Use
+
+		$ sudo vi /etc/resolv.conf
+		nameserver 127.0.0.1
 
 
 
@@ -56,6 +74,33 @@ maxcount = 100000
 ```
 
 
+## Benchmak
+
+```
+$ go test -bench=.
+
+testing: warning: no tests to run
+PASS
+BenchmarkDig-4	    5000	    435141 ns/op
+ok  	_/Users/kenshin/workspace/godns	2.270s
+```
+
+The result : 2200 queries/per second
+
+The enviroment of test:
+
+MacBook Air 
+
+* CPU:  
+Inter Core i5 1.7G  
+Double cores
+
+* MEM:  
+8G
+
+
+
+
 ## TODO
 
 * The redis cache backend
diff --git a/godns_test.go b/godns_test.go
new file mode 100644
index 0000000..daf5d1d
--- /dev/null
+++ b/godns_test.go
@@ -0,0 +1,25 @@
+package main
+
+import (
+	"github.com/miekg/dns"
+	"testing"
+)
+
+const (
+	nameserver = "127.0.0.1:53"
+	domain     = "www.sina.com.cn"
+)
+
+func BenchmarkDig(b *testing.B) {
+	m := new(dns.Msg)
+	m.SetQuestion(dns.Fqdn(domain), dns.TypeA)
+
+	c := new(dns.Client)
+
+	b.ResetTimer()
+
+	for i := 0; i < b.N; i++ {
+		c.Exchange(m, nameserver)
+	}
+
+}
diff --git a/main.go b/main.go
index e7da0f8..3a584e1 100644
--- a/main.go
+++ b/main.go
@@ -4,6 +4,7 @@ import (
 	"log"
 	"os"
 	"os/signal"
+	"runtime"
 	"time"
 )
 
@@ -24,6 +25,8 @@ func main() {
 
 	server.Run()
 
+	logger.Printf("godns %s start", settings.Version)
+
 	sig := make(chan os.Signal)
 	signal.Notify(sig, os.Interrupt)
 
@@ -57,3 +60,7 @@ func initLogger(log_file string) (logger *log.Logger) {
 	return logger
 
 }
+
+func init() {
+	runtime.GOMAXPROCS(runtime.NumCPU())
+}