RDS数据库监控CPU使用率高

问题症状 RDS数据库经常收到CPU使用率高的监控报警,找不到具体的原因,只能重启RDS实例来解决。 问题原因 要彻底解决监控报警问题,需要找到问题的根源,CPU使用率高的原因,一般情况下导致CPU使用率有以下几个原因: 系统执行应用提交查询(包括数据修改操作)时需要大量的逻辑读 实例的 QPS(每秒执行的查询次数)高 查询执行成本(查询访问表数据行数 avg_lgc_io)高 解决方案 生成诊断报告,查看诊断报告提供的优化建议进行SQL优化 对于由应用负载高导致的 CPU 使用率高的状况,使用 SQL 查询进行优化的余地不大,建议从应用架构、实例规格等方面来解决,例如: 升级实例规格,增加 CPU 资源。 增加只读实例,将对数据一致性不敏感的查询(比如商品种类查询、列车车次查询)转移到只读实例上,分担主实例压力。 使用阿里云 DRDS 产品,自动进行分库分表,将查询压力分担到多个 RDS 实例上。...

nginx warn an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/ while reading upstream

最近管理的nginx发现大量的error log,log内容如下: an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/0/52/0002923520 while reading upstream 从这条error日志来看是nginx某一块的buffer设置的太小,而response(包含response header和response body)导致response结果不得不临时写到文件中。 可以修改的配置参数 client_header_buffer_size 128k; client_body_buffer_size 1m; proxy_buffer_size 32k;...

jenkins with reverse nginx

server { listen 80; server_name jenkins.domainname; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name jenkins.domainname; ssl_certificate /etc/nginx/keypath/jenkins.crt; ssl_certificate_key /etc/nginx/keypath/jenkins.key; location / { proxy_pass...

Spring Boot : Whitelabel Error Page解决方案

楼主最近爱上了一个新框架——Spring Boot, 搭建快还不用写一堆xml,最重要的是自带Tomcat 真是好 pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.demo</groupId> 7 <artifactId>Demo</artifactId> 8 <version>0.0.1-SNAPSHOT</version>...

MongoDB 重大安全事故

MongoDB 安全门事件 此前,MongoDB 也多次出现安全问题。无需身份验证的开放式 MongoDB 数据库曾遭到多个黑客组织的攻击,被攻破的数据库内容会被加密,受害者必须支付赎金才能找回自己的数据。 2016 年 12 月底,MongoDB 遭黑客攻击,事情在 2017 年 1 月达到顶峰。攻击者利用配置存在纰漏的 MongoDB 展开勒索行为,自称 Harak1r1 的黑客组织将网络上公开的 MongoDB 资料库中的资料汇出,并将 MongoDB 服务器上的资料移除。起初两百个 MongoDB 数据库实例的数据被非法清除,几天之内,受感染的...

任正非新年致全体员工信

来源:内容来自「华为、蓝血研究(lanxueyanjiu)」。   全面提升软件工程能力与实践,打造可信的高质量产品 ——致全体员工的一封信 我今天写信,是要和大家沟通公司如何全面提升软件工程能力和实践。二十年前的 IPD 变革,重构了我们的研发模式,实现了从依赖个人、偶然性推出成功产品,到制度化、持续地推出高质量产品的转变。至今为止,我们的产品和解决方案已经在 170 多个国家安全稳定运行,并因此积累和赢得了全球数万客户的信任。今天,我们又处在一个新的起点,全面云化、智能化、软件定义一切等发展趋势,对 ICT 基础设施产品的可信提出了前所未有的要求。可信将成为客户愿买、敢买和政府接受、信任华为的基本条件。可信不仅仅是产品外在表现的高质量结果,更是产品内在实现的高质量过程,是结果和过程的双重可验证的高质量。而只有全面提升软件工程能力和实践,才有可能打造出可信的高质量产品。   公司已经明确,把网络安全和隐私保护作为公司的最高纲领。我们要在每一个 ICT 基础设施产品和解决方案中,都融入信任、构建高质量,关键内容包括: 安全性(Security)。产品有良好的抗攻击能力,保护业务和数据的机密性、完整性和可用性。 韧性(Resilience)。系统受攻击时保持有定义的运行状态,包括降级,以及遭遇攻击时快速恢复的能力。 隐私性(Privacy)。遵从隐私保护既是法律法规的要求,也是价值观的体现。用户应该能够适当地控制他们的数据的使用方式。信息的使用政策应该是对用户透明的。用户应该根据自己的需要来控制何时接收以及是否接收信息。用户的隐私数据要有完善的保护能力和机制。 可靠性和可用性(Reliability &Availability)。产品能在生命周期内长期保障业务无故障运行,具备快速恢复和自我管理的能力,提供可预期的、一致的服务。 全面提升软件工程能力和实践,关乎公司未来的生存和发展,与我们每一个人都息息相关。在此,我希望全体员工、特别是软件工程师们主动参与进来,从自己做起,踏踏实实,共同打造可信的高质量产品。 我们要转变观念,追求打造可信的高质量产品,不仅仅是功能、特性的高质量,也包括产品开发到交付过程的高质量。 我们知道,功能、特性对产品至关重要,我们更知道,进度对满足客户需求也至关重要。今天,我们要把可信作为第一优先级,放在功能、特性和进度之上。除非客户信任我们的产品,否则这些优秀的特性都没有机会发挥价值。我们各级管理者和全体员工都不得以进度、功能、特性等为理由来降低可信的要求,确保可信的要求在执行过程中不变形。 我们要从最基础的编码质量做起,视高质量代码为尊严和个人声誉。 代码就像是高楼大厦的一砖一瓦,没有高质量的代码,可信的产品就是空中楼阁。我们要优化并遵循公司各种编程规范,遵从架构与设计原则,熟练使用各种编程库和...

Docker 常用命令

开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化。Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法。 目前,Docker 共有 13 个管理命令和 41 个通用命令,以下是常用 Docker 命令列表: docker help—检查最新 Docker 可用命令; docker attach—将本地输入、输出、错误流附加到正在运行的容器; docker commit—从当前更改的容器状态创建新镜像; docker exec—在活动或正在运行的容器中运行命令; docker history—显示镜像历史记录; docker info—显示系统范围信息; docker inspect—查找有关 docker 容器和镜像的系统级信息; docker login—登录到本地注册表或...

微服务注册中心 Eureka 架构深入解读

微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的 Dubbo 和 Spring Cloud。 关于注册中心的解决方案,dubbo 支持了 Zookeeper、Redis、Multicast 和 Simple,官方推荐 Zookeeper。Spring Cloud 支持了 Zookeeper、Consul 和 Eureka,官方推荐 Eureka。 两者之所以推荐不同的实现方式,原因在于组件的特点以及适用场景不同。简单来说: ZK 的设计原则是 CP,即强一致性和分区容错性。他保证数据的强一致性,但舍弃了可用性,如果出现网络问题可能会影响 ZK 的选举,导致 ZK 注册中心的不可用。...

干货满满!10分钟看懂Docker和K8S

本文来源于微信公众号鲜枣课堂(ID:xzclasscom),作者: 小枣君,IT之家获授权转载。前情阅读:《涨知识!云计算到底是怎么玩的》 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0.1版本发布。此后的每一个月,Docker都会发布一个版本。到2014年6月9日,Docker 1.0版本正式发布。 此时的Docker,已经成为行业里人气最火爆的开源技术,没有之一。甚至像Google、微软、Amazon、VMware这样的巨头,都对它青睐有加,表示将全力支持。 Docker火了之后,dotCloud公司干脆把公司名字也改成了Docker Inc.。 Docker和容器技术为什么会这么火爆?说白了,就是因为它“轻”。...