1. Haproxy 自身健康检查
    vi /usr/local/haproxy/sbin/check_haproxy.sh

    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin [[ -e "/etc/rc.d/init.d/haproxy" ]] || exit
    [[ -z `ps aux | grep /usr/sbin/haproxy | grep -v grep` ]] && service haproxy start && exit ETH1_ADDR=`/sbin/ifconfig eth0 | awk -F ':' '/inet addr/{print $2}' | sed 's/[a-zA-Z ]//g'`
    [[ -z `curl -I -s "http://${ETH1_ADDR}" | grep "200 OK"` ]] && service haproxy restart

    check harpy Code

    chmox +x /usr/local/haproxy/sbin/check_haproxy.sh
    设置定时检查任务
    crontab -e
    */5 * * * * /usr/local/haproxy/sbin/check_haproxy.sh >/dev/null 2>&1
    备注:若无法运行,请根据haproxy安装路径和绑定的网卡对代码做简单修改

  2. 进阶配置
    mode http
    # 设置为http模式
    balance source
    # 设置haproxy的调度算法为源地址hash
    cookie SERVERID
    # 允许向cookie插入SERVERID,每台服务器的SERVERID可在下面使用cookie关键字定义
    option httpchk GET /test/index.php
    # 开启对后端服务器的健康检测,通过GET /test/index.php来判断后端服务器的健康情况
    server php_server_1 10.12.25.68:80 cookie 1 check inter 2000 rise 3 fall 3 weight 2
    server php_server_2 10.12.25.72:80 cookie 2 check inter 2000 rise 3 fall 3 weight 1
    server php_server_bak 10.12.25.79:80 cookie 3 check inter 1500 rise 3 fall 3 backup
    # server语法:server [:port] [param*]
    # 使用server关键字来设置后端服务器;为后端服务器所设置的内部名称[php_server_1],该名称将会呈现在日志或警报中、后端服务器的IP地址
    # 支持端口映射[10.12.25.68:80]、指定该服务器的SERVERID为1[cookie 1]
    # 接受健康监测[check]、监测的间隔时长,单位毫秒[inter 2000]
    # 监测正常多少次后被认为后端服务器是可用的[rise 3]
    # 监测失败多少次后被认为后端服务器是不可用的[fall 3]
    # 分发的权重[weight 2]、最后为备份用的后端服务器,当正常的服务器全部都宕机后,才会启用备份服务器[backup]
  3. 优化网络
    vim /etc/sysctl.conf
    net.ipv4.tcp_syncookies =
    net.ipv4.tcp_tw_reuse =
    net.ipv4.tcp_tw_recycle =
    net.ipv4.tcp_fin_timeout =
    net.ipv4.tcp_keepalive_time = net.ipv4.ip_local_port_range =
    net.ipv4.tcp_max_syn_backlog =
    net.ipv4.tcp_max_tw_buckets = net.core.somaxconn = net.ipv4.tcp_keepalive_probes =
    net.ipv4.tcp_keepalive_intvl = net.core.wmem_default =
    net.core.rmem_default =
    net.core.rmem_max =
    net.core.wmem_max = net.ipv4.tcp_rmem =
    net.ipv4.tcp_wmem = net.core.netdev_max_backlog = net.ipv4.tcp_timestamps =
    net.ipv4.tcp_synack_retries =
    net.ipv4.tcp_syn_retries =
    net.ipv4.tcp_retries2 = net.ipv4.tcp_mem =
    net.ipv4.tcp_max_orphans =
    fs.file-max =

    sysctl -p

  4. 参考文档
    http://sofar.blog.51cto.com/353572/1291013/
    http://leejia.blog.51cto.com/4356849/1421882

Haproxy 优化的更多相关文章

  1. CDN技术详解

    CDN,全称为Content DeliveryNetwork,中文意为"内容分发网络"".通过将网络内容发布到最靠近用户的『边缘节点』,使不同地区的用户在访问相同页面.图 ...

  2. (转)运维角度浅谈MySQL数据库优化

    转自:http://lizhenliang.blog.51cto.com/7876557/1657465 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架 ...

  3. python基础-修改haproxy配置文件

    需要掌握的知识: 1.函数 2.文件处理 3.tag的用法 4.程序的解耦 需求: 1:查询 2:添加 3:删除 4:修改 5:退出 haproxy.conf 配置文件内容: global log 1 ...

  4. 网站访问量大 怎样优化mysql数据库

    MySQL优化的一些建议,单机MySQL的优化我分为三个部分,一是服务器物理硬件的优化,二是 MySQL安装时的编译优化,三是自身配置文件my.cnf的优化:如果单机的优化也解决不了你的数据库的压力的 ...

  5. haproxy +keepalived 原创

    Haproxy+keepalived 原理: HAProxy介绍及其定位 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根 ...

  6. apache配置文件参数优化

    1.CentOS5.8 x86_64位 采用最小化安装,系统经过了基本优化篇2.apache版本:httpd-2.2.293.源码包存放位置:/home/oldboy/tools4.源码包编译安装位置 ...

  7. 烂泥:高负载均衡学习haproxy之关键词介绍

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 上一篇文章我们简单讲解了有关haproxy的安装与搭建,在这篇文章我们把haproxy配置文件中使用到的关键词一一介绍下. 关注我微信ilann ...

  8. 烂泥:高负载均衡学习haproxy之安装与配置

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 有关高负载均衡的软件,目前使用比较多的是haproxy.nginx和lvs.下面我们就开始学习haprxoy这款软件. 一.haproxy介绍 以下开始介 ...

  9. nginx应用总结(2)--突破高并发的性能优化

    在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题.今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~) 一.这里 ...

随机推荐

  1. hadoop和java 配置环境变量的的tar

    第一步:打开工具上传tar包 如下图 第二步:在文件路径下查看是否上传成功 第三步:解压tar包               tar -zxvf hadoop.2.6.5.tar.gz 第四步:配置环 ...

  2. 自己实现数据结构系列五---BinarySearchTree

    一.二分搜索树: 1.代码: public class BST<E extends Comparable<E>> { private class Node{ public E ...

  3. MySQL数据性能优化-修改方法与步骤

    原文:http://bbs.landingbj.com/t-0-240421-1.html 数据库优化应该是每个设计到数据库操作应用必须涉及到的操作. 经常调试修改数据库性能主要有三个方面 1.MyS ...

  4. asp.net core Api配置swagger

    这个很简单的一篇文章用来记录以下使用swagger的过程,以后有用. 1.nuget 下载install-package Swashbuckle.AspNetCore 2.startup里面confi ...

  5. Laravel 门面实例教程 —— 创建自定义 Facades 类

    我们首先创建一个需要绑定到服务容器的Test类: <?php namespace App\Facades; class Test { public function doSomething() ...

  6. Linux启动/停止/重启Mysql数据库

    1.查看mysql版本 1)status; 2)select version(); 2.Mysql启动 1)使用 service 启动: service mysqld start (5.0版本是mys ...

  7. HTML5经典案例学习-----新元素添加文档结构

    直接上代码了,大家如果发现问题了,记得提醒我哦,谢谢啦,嘻嘻 <!DOCTYPE html> <!-- 不区分大小写 --> <html lang="en&qu ...

  8. Bootstrap之信息记录

    Bootstrap中文网: http://www.bootcss.com/ 上面有一些资料和范例 实例精选: https://v3.bootcss.com/getting-started/#examp ...

  9. 转 利用java反射实现两个具有相同属性bean赋值

    package com.dobn.bdgcgl.utils; import java.lang.reflect.Field; import java.lang.reflect.Method; publ ...

  10. 一个好玩的小制作,以及在<a/>中的标签href="javascript:;"/href="javascript:void(0);"/href="javascript:"的用法

    一:一个小图标的制作 我们在支付宝.微信等某些地方上传文件时会遇到以下的图标,但是这样的图标其实可以用<a/>标签以及css样式完成, 具体代码如下: <!DOCTYPE html& ...