yjiang's cake

使用haproxy加速ssr

场景

  • 一台非直连cn的vps, 搭建了ssr
  • 一台内网可运行haproxy的机器
  • 家里联通线路访问ssr速度尚可
  • 公司/非联通线路访问ssr速度不佳

方案

  • 在家里路由器搭建haproxy, 使用haproxy反代ssr:
公司 <===> 家里(haproxy) <===> VPS

安装及haproxy配置

1.安装haproxy

此处使用entware-ng环境运行haproxy,需要根据实际情况自行安装haproxy

opkg update && opkg install haproxy

2.创建配置文件ssr.cfg

global
    #ulimit-n  51200
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /root
    pidfile /tmp/var/run/haproxy.pid
    user yjiang                      #自己运行haproxy的用户
    daemon                           #以后台形式运行haproxy
defaults
    log     global
    mode    tcp
    option  dontlognull
    option redispatch
    timeout http-request 10s
    timeout queue 1m
    timeout connect 2s
    timeout http-keep-alive 10s
    timeout check 10s
    timeout client 50000
    timeout server 50000
listen ssr
    bind *:9988                      #反代后ssr的端口
    mode tcp
    server ssr1 yjiang.cn:9988       #自己的ssr服务器及端口

3.启动haproxy

haproxy -f ssr.cfg

梅林固件User Script脚本创建方式

tips

  1. 可能需要手动开放haproxy绑定的端口, 例如上面配置文件需要开启9988
iptables -I INPUT -p tcp --dport 9988 -j ACCEPT
iptables-save
  1. 1024以内的端口是需要root权限的
  2. 从公司连接haproxy反代后的ssr服务时, 依旧需要vps上ssr服务的用户名/密码/加密协议.

记一次 redis 内存异常排查

    #各种类型的key所占比例
    redis-cli  --bigkeys

654556F2-22A7-4DF3-B1C6-6854D444743B.png

上图可看出, string 类型的key占了近93%

dbsize 查看key总量

randomkey 所占比例较多的key, 随机返回的几率也较大

E0066839244E634E2662E3C48981C753.jpg

  1. 几次randomkey都返回前缀c:s:i的, 可以确定比例肯定很大
  2. keys c:s:i* 查看数量, 确定问题所在key
  3. 确定key以后, 找到相关逻辑, 定位问题

全文检索 `xunsearch` 简记

配置文件

    project.name = news
    project.default_charset = utf-8
    server.index = 192.168.219.129:8383
    server.search = 192.168.219.129:8384

    [pid]
    type = id

    [title]
    type = title

    [category_id]
    index = self
    type = string
    tokenizer = split(,)

    [new_cat_id]
    index = self
    type = string
    tokenizer = full

参考xunsearch项目配置详解

  • type [字段类型], 为numeric时, 仅用于区间检索, 否则使用string
  • index [索引方式], 为self时, 可以用 field:xxx 来检索指定的field字段
  • tokenizer [分词器], 为full时, 字段作为一个整体检索词(例如ID); 为split(,)时, 将按照,分割内容

php下使用composer安装及使用

安装

 composer require hightman/xunsearch

引用

require_once __DIR__ . '/vendor/autoload.php';

$xs = new XS('./test/test.ini');
//创建索引对象
$index = $xs->index;
//创建搜索对象
$search = $xs->search;

清空索引

cli 方式

    ./util/Indexer.php --clean <project_name>

php

    //创建索引对象$index后
    $index->clean();

archlinux手动链接网络

启用无线网卡

ip link set dev wlan0 up

生成wpa配置文件

wpa_passphrase <SSID> <paasword>  > wlan0.conf

连接

wpa_supplicant -i wlan0 -c wlan0.conf

更多

#自动获取ip
dhcpcd wlan0
#查看接入点
iw dev wlan0 scan |less
#启用网卡
ip link set dev wlan0 up
#关闭网卡
ip link set dev wlan0 down
#扫描可用热点
iw dev wlan0 scan

参考

brew upgrade 导致的php扩展失效

brew reinstall <modules> --build-from-source

Copyright © 2016 yjiang's cake

返回顶部