Nginx Http 模块中 Upstream 的 keepalive 参数配置注意事项 摘要 在高并发环境下 keepalive 参数配置不当容易产生大量 TIME_WAIT,导致端口耗尽,服务异常。 keepalive 值应该大于等于 upstream 中 server 的数量。(建议是 ser
https://www.jianshu.com/p/7c58b389cbe9 如果从多台服务器镜像流量, -c 后面的参数使用不同的 IP 段, 也要记得在目的端 server 添加相应的路由。原因是在流量大的情况下,改变后的源ip和源端口可能冲突,导致 tcp reset。例如 流量源1 : -c
https://www.cnblogs.com/lizexiong/p/14989934.html 这里只是简单记录一下主配置文件中的format格式,因为在配置过程中一直不生效,最后发现是因为配置尾部没有加 ; 号导致,所以这里简单做一个记录。 #/etc/nginx/nginx.confuser
https://zhuanlan.zhihu.com/p/561865798 内核中的并发和竞争简介 在早期的 Linux内核中,并发的来源相对较少。早期内核不支持对称多处理( symmetric multi processing,SMP),因此,导致并发执行的唯一原因是对硬件中断的服务。这种情况处
前言 Docker 从2013年火起来到现在才第十个年头. 现在已经被Google的K8S打的没有任何还手之力. 随着K8S放弃支持docker,仅支持containerd的方式. 直接导致docker变得更加可有可无. 不过他还是挺好有, 挺值得把玩的一套部署方式. 但是发布频率从一年两次, 到一
前言 我们在使用nginx做反向代理的时候,可能会遇到这个场景:后端正常的业务处理时间超过了nginx的超时时间,导致nginx主动返回504。为解决这个问题,我们网上搜索发现可以通过调整这几个参数来调大nginx的超时时间。 proxy_connect_timeout proxy_send_tim
MySQ使用内存上升90%!在运维过程中50%的几率,会碰到这样的问题。算是比较普遍的现象。 MySQL内存使用率过高,有诸多原因。普遍的情况是因为使用不当导致的,还有mysql本身的缺陷的导致的。到底是那方面的问题,那就需要一个一个进行排查。 下面介绍排查思路: 1.参数配置需要确认。是否内存设置
关于KVM KVM,深受开源、国产虚拟化、云计算厂家欢迎,费用可以无视,可定制,配合的开源云管平台很丰富,但是对入门用户不友好,第三方工具不够多,无代理备份方式受限于KVM所选择的Linux发行版本,导致各个版本的第三方工具支持力度不高。大厂喜欢,企业用户不喜欢。 关于Vmware ESXi,商业版
https://www.cnblogs.com/MasterMonkInTemple/p/16358366.html 出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致
https://www.cnblogs.com/codelogs/p/16001770.html 简介# 在目前微服务的背景下,网络异常越来越常见了,而有一些网络异常非常模糊,理解什么情况下会导致什么异常,还是有一定难度的,为此我做了大量实验,来复现各种异常场景。 socket状态变迁图# 先快速回
https://www.jianshu.com/p/167ba81206fb 参考资料 TCP协议中的Nagle算法 TCP中的Nagle算法 Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析 TCP-IP详解:Delay ACK 1. Nagle 算法 1.1. 原理 N
指令安全 Redis的一些指令会对Redis服务的稳定性及安全性各方面造成影响,例如keys指令在数据量大的情况下会导致Redis卡顿,flushdb和flushall会导致Redis的数据被清空。 Redis在配置文件中提供了 rename-command 指令用于将一些危险的指令修改成其他指令,
一、前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。 二、分析
https://my.oschina.net/u/4587289/blog/8570699 1. 概述 软件开发过程中,应用发布非常频繁,通常情况下,开发或运维人员会将系统里所有服务同时上线,使得所有用户都使用上新版本。这样的操作时常会导致发布失败,或因发布前修改代码,线上出现 Bug。 假设一个在
Chrome浏览器不同版本兼容性的验证方法 背景 上周客户现场有出现使用国产信创设备上面的奇安信浏览器出现兼容性的问题. 开发认为是测试不全面导致. 认为测试应该必须测试过特定浏览器才可以进行说明. 最开始国产设备上面仅能够支持firefox52.3ESR的版本 当时在进行银河麒麟和UOS的兼容适配
https://www.cnblogs.com/jelly12345/p/16424080.html 1. 概述由于 Redis 是单线程在处理用户的命令,而 Keys 命令会一次性遍历所有 Key,于是在 命令执行过程中,无法执行其他命令。这就导致如果 Redis 中的 key 比较多,那么 Ke
熟悉Redis的人都知道,它是单线程的。因此在使用一些时间复杂度为O(N)的命令时要非常谨慎。可能一不小心就会阻塞进程,导致Redis出现卡顿。 有时,我们需要针对符合条件的一部分命令进行操作,比如删除以test_开头的key。那么怎么获取到这些key呢?在Redis2.8版本之前,我们可以使用ke
函数说明 函数原型 #include int sched_yield(void); 12 sched_yield的作用是让出处理器,调用时会导致当前线程放弃CPU,进程管理系统会把该线程放到其对应优先级的CPU静态进程队列的尾端,然后一个新的线程会占用CPU。详细说明可以查看ma
写在前面 本篇文章的内容主要来自内核源码树 Documentation/admin-guide/sysctl/kernel.rst文件。 softlockup vs hardlockup softlockup 是一种触发系统在内核态中一直循环超过 20 秒导致其它任务没有机会得到运行的 BUG。 h
https://blog.whsir.com/post-7002.html 由于国产华为OpenEuler欧拉系统的版本命名是22.03、22.03这种,并且在查看版本的路径中是/etc/openEuler-release这种,这样就导致OpenEuler系统无法通过常规的epel源命令安装。 如果