LOADING Redis is loading the dataset in memory

redis版本:redis-2.8.12 【64位】 
操作系统:Linux version 2.6.32 【64位】 

异常状况描述: 
  redis中dump.rdb文件到达3G时,所有redis的操作都会抛出此异常。 

原因: 
  maxmemory默认是3G 

解决: 
  redis.conf中  maxmemory <5368709120>  设置大一些,比如5G,30G等

阅读剩余部分 -

linux 终端报Message from syslogd

最近有一台Linux服务器,用xshell连接上去之后

终端一直报Message from syslogd

Message from syslogd@xxx at May 8 07:41:55 ...
kernel:NMI: IOCK error (debug interrupt?) for reason 61 on CPU 0

敲个命令,都被打断了,比较蛋疼。

 

google了一下,终于找到了解决办法

 

阅读剩余部分 -

CentOS 7:/etc/init.d/iptables: No such file or directory

CentOS 7 /etc/init.d/iptables: No such file or directory

CentOS 7 /etc/init.d/rsyslog: No such file or directory

在之前的版本中关闭防火墙等服务的命令是

service iptables stop

/etc/init.d/iptables stop

 

在RHEL7中,其实没有这个服务

[root@rhel7 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@rhel7 ~]# service iptables stop
Redirecting to /bin/systemctl stop  iptables.service
[root@rhel7 ~]# /etc/init.d/iptables stop
-bash: /etc/init.d/iptables: No such file or directory

 

原来在RHEL7开始,使用systemctl工具来管理服务程序,包括了service和chkconfig

阅读剩余部分 -

chrome的timeline中stalled问题解析

在公司国做一个运营活动,上线后PM总是抱怨访问速度过慢,影响运营效果。然而从前端的角度来说我已经做了如下优化: css、js合并压缩、图片压缩、雪碧图、静态资源全部上CDN。但是依然很慢,实在s是困惑,通过chrome的timeline分析,发现有些请求确实很慢,但是大部分时间消耗在stalled阶段。如下图:

chrome-stalled

下文来分析具体原因。


什么是stalled呢?下面是一段比较容易懂的解释:

Time the request spent waiting before it could be sent. This time is inclusive of any time spent in proxy negotiation.Additionally, this time will include when the browser is waiting for an already established connection to become available for re-use, obeying Chrome’s maximum six TCP connection per origin rule.

也即是从TCP连接建立完成,到真正可以传输数据之间的时间差。先让我们要分析TCP连接为什么要等待这么久才能用?我用Wireshark抓包发现(如下图),TCP连接过程中有多次重传,直到达到最大重传次数后连接被客户端重置。

阅读剩余部分 -

将Cmder添加到系统右键菜单中

下载cmder

1、把 Cmder 加到环境变量 把Cmder.exe存放的目录添加到系统环境变量; 加完之后,Win+r一下输入cmder,即可。

2、添加 cmder 到右键菜单:环境变量添加后,在任意文件夹中即可打开Cmder,上一步的把 Cmder 加到环境变量就是为此服务的, 在管理员权限的终端输入以下语句即可:

Cmder.exe /REGISTER ALL

3、为Cmder.exe创建快捷方式,右击Cmder.exe选择“创建快捷方式”点击即可,以后打开Cmder.exe只要点击桌面对应的快捷方式即可

阅读剩余部分 -

nginx中proxy_set_header Host $host的作用

nginx为了实现反向代理的需求而增加了一个ngx_http_proxy_module模块。其中proxy_set_header指令就是该模块需要读取的配置文件。在这里,所有设置的值的含义和http请求同中的含义完全相同,除了Host外还有X-Forward-For。


Host的含义是表明请求的主机名,因为nginx作为反向代理使用,而如果后端真是的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败【默认反向代理服务器会向后端真实服务器发送请求,并且请求头中的host字段应为proxy_pass指令设置的服务器】。


同理,X_Forward_For字段表示该条http请求是有谁发起的?如果反向代理服务器不重写该请求头的话,那么后端真实服务器在处理时会认为所有的请求都来在反向代理服务器,如果后端有防攻击策略的话,那么机器就被封掉了。因此,在配置用作反向代理的nginx中一般会增加两条配置,修改http的请求头:
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
这里的$http_host和$remote_addr都是nginx的导出变量,可以再配置文件中直接使用。如果Host请求头部没有出现在请求头中,则$http_host值为空,但是$host值为主域名。因此,一般而言,会用$host代替$http_host变量,从而避免http请求中丢失Host头部的情况下Host不被重写的失误。

 

X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。 它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。标准格式如下:X-Forwarded-For: client1, proxy1, proxy2。

 

阅读剩余部分 -

宝塔 Nginx反向代理/CDN缓存加速设置

宝塔面板自带了反向代理设置, 通过Nginx反向代理我们可以让网站达到加速的效果, 如果开启缓存还可以减少源服务器带宽压力,现在简单说说这个设置.

ZMg4e.md.png

以openos.org为例
若www.openos.org源服务器为A, 反代节点服务器为B和C.

阅读剩余部分 -

最新文章

归档

其它

链接

meiyoutongji