软件开发: 11 2009存档

本来是想查Intel的“sfence”指令,却找到了这篇文章:http://www.cnblogs.com/flier/archive/2004 /07/08/22352.html 乍一看吓一跳,内存拷贝可以提高50%的性能!,那我们以前用的的memcpy岂不是很菜?!于是按照文章的代码试着在linux上写了个 fast_memcpy函数,测试了一下。好久没写gcc里的嵌入汇编,折腾了半天。
结果发现不如memcpy快。如果我把mm0换成别的寄存器,比如rax、r8等,则movntq根本不可用,zhe这下明白了,movntq加sfence是针对MMX寄存器用的,对普通的内存拷贝没有帮助。
主要参考http://blog.chenlb.com/2009/06/install-haproxy-and-configure-load-balance.html
我的haproxy配置结果如下:

global
        log 127.0.0.1   local0
        #log 127.0.0.1  local1 notice
        #log loghost    local0 info
        pidfile /tmp/haproxy.pid                    #pid文件
        maxconn 200
        ulimit-n 1024
        daemon                                        #作为daemon启动
        nbproc 4                                       #且启动4个haproxy进程(企图把4核cpu用干净)
        #debug
        #quiet

defaults
        log       global
        mode    http
        option  httplog
        option  dontlognull
        option  forwardfor
        option  redispatch
        retries 3
        balance leastconn                            #负载均衡算法采用“最少链接者先处理”
        stats   uri     /ha-st
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen  web_proxy1      0.0.0.0:1180                                #侦听virtual server的1180端口
        server  app1 10.254.2.197:80 weight 3 check            #第一台real server
        server  app2 10.254.3.142:80 weight 3 check            #第二台real server
        #server app3 10.254.3.143:80 weight 3 check