服务器作为数据和网站的载体,其安全性和稳定性非常重要,但如今很多企业的服务器经常出现死机(即宕机)的状况,给企业业务带来很大影响。
该文讲述了通过分析 Node.js 程序运行时的内存快照来定位程序异常的方法。首先介绍了 Node.js 程序运行时内存快照的基本概念和作用,然后详细描述了如何利用 heapdump 工具进行内存快照的分析。最后,总结了通过分析内存快照发现程序异常的方法,并提供了一些最佳实践。
最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。
今天下午,线上阿里云RDS的本地只读从库宕机了,还好,这个个服务器上的数据库实例只是提供了一部分的读需求,很快就复原了,但是上面所有的数据库实例都down掉了,启动实例并保证主从复制关系迫在眉睫。这个过程中发现有一个主从复制的问题值得研究一下,虽然最后我解决了,但是具体的原因没有找到,还请大家帮忙看看,也算是集思广益了,如果某一天找到原因了,再回来更新一下。
这是上月在公司内部的一次分享,现把PPT及交流内容整理成博客。 高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。 解决单点问题主要有2种方式: 主备方式 这种通常是一台主机、一台或多台备机,在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机后,备机立刻开始服务。 Redis HA中使用比较多的是keepalived
(虚拟专用服务器)("Virtual Private Server",或简称 "VPS")是利用虚拟服务器软件(如微软的Virtual Server、VMware的ESX server、SWsoft 的Virtuozzo)在一物理服务器上创建多个相互隔离的小服务器。这些小服务器(VPS)本身就有自己操作系统,它的运行和管理与独立服务器完全相同。 因为每一个VPS服务器均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。虚拟专用服务器确保所有资源为用户独享,给用户最高的服务品质保证,让用户以虚拟主机的价格享受到独立主机的服务品质。
昨天帮助一个网友处理了一个数据库异常宕机的问题,简单记录一下。 说到这个问题,也是一位网友给我发邮件说有一个数据库环境,会突然出现宕机的情况,想让我帮忙分析一下问题的原因。我一听这个问题就来了兴趣。大大小小的宕机问题也接触了不少,这个问题还是值得探究的。 我首先得到了这位朋友提供的alert日志。简单看了下,近期没有发现什么明显的异常信息。但是看到日志中去年的时候,有这样的一段内容。 Mon Sep 19 14:38:17 2016 WARNING: Heavy swapping observ
JVM 发生内部崩溃,那么必然会生成"hs_err_pid"开头的文件,下面讲一种常见情况:
(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
Redis大key问题是指在Redis中出现了一个或多个非常大的key,这些key的大小超过了Redis所能处理的最大值,从而导致Redis性能下降甚至宕机的现象。通常情况下,Redis的key大小应该尽量保持在较小的范围内,因为Redis是一个基于内存的数据结构存储系统,大key会占用大量内存资源,导致Redis的性能受到严重影响。
网络信息产业中,芯片被比喻为心脏,操作系统被认为是计算机的灵魂。二十年来,国内信息产业始终在“缺芯少魂”的困境中,中国在高端芯片行业缺乏自主创新能力,国产操作系统自研创新,不仅事关信息技术核心竞争力,更关乎国家信息安全。
Vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。系统性能分析工具中,使用最多的是这个,除了sysstat工具包外,这个工具能查看的系统资源最多。
服务器可靠性:一个9的差距究竟有多大? 说到关键业务系统的可靠性,经常用到所谓4个9或者5个9,也就是99.99%与99.999%。那么,4个9或者5个9的差距有多大,差距是0.009%,还不到0.0
•④ 保证运行memberserver正在运行的时候,可以运行OrderClient
由两种角色构成: (1)主(Master) 可读可写,当数据有修改的时候,会将oplog同步到所有连接的salve上去。 (2)从(Slave) 只读不可写,自动从Master同步数据。 特别的,对于Mongodb来说,并不推荐使用Master-Slave架构,因为Master-Slave其中Master宕机后不能自动恢复,推荐使用Replica Set,后面会有介绍,除非Replica的节点数超过50,才需要使用Master-Slave架构,正常情况是不可能用那么多节点的。 还有一点,Master-Slave不支持链式结构,Slave只能直接连接Master。Redis的Master-Slave支持链式结构,Slave可以连接Slave,成为Slave的Slave。
最近无意间打开了曾经做后端时的笔记,想起来许多往事,挑了一段有意思的,分享给大家。
原文链接:https://url.cn/57Tclci
随着并发访问量的不断增加,Redis 大 key 问题成为了常见的性能瓶颈和 bug 源。当 Redis 中存储的数据结构过大时,它会影响 Redis 的性能、稳定性甚至导致 Redis 宕机。因此,本文将对 Redis 大 key 问题做一个详细的总结,并提供一些解决方案。
作者:蘑菇先生 出处:http://www.cnblogs.com/mushroom/ 1. 使用Redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
1. 使用Redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除 2. redis相比memcached有哪些优势? (1) memcached所有的值均
概述 集群和分布式都是从集中式进化而来的。分布式和集群会相互合作的,同时的集群和分布式。在这里重点说说集群 集群是什么? 集群能提高单位时间内处理的任务数量,提升服务器性能 有多台服务器去处理任务,
一般在访问某些网站或者我们在做本地测试的时候,服务器突然返回502 Bad Gateway Nginx,
某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。 为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。
PS:本次主要针对场景进行了,本身zk都是分布式框架,它很少存在宕机的情况,除非外在因素,例如内存硬盘爆了。
我们之前了解了复制、扩展性,接下来就让我们来了解可用性。归根到底,高可用性就意味着 "更少的宕机时间"。
activeMQ 是一种开源的,实现了 JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信
DBA干了这么多年,一直以来有一个疑惑,那就是从半夜的电话中吵醒时,几乎清一色都是宕机类问题,每次我就忍不住想喊,大早上宕机,让不让人睡觉了。但是抱怨归抱怨,活得干,坑还是得补。这话对于很多DBA来说是感同身受,谁还没大半夜被电脑吵醒过,如果没有,你这DBA生活还真是滋润啊。 当然随着工作的经历增长,我想明白了几件事情,也感谢这些难忘的日日夜夜。 宕机能够刷到存在感 第一个是数据库宕机从技术角度之外有时候还是有一些作用的,那就是很多时候宕机之后大家会深刻感受到DBA的存在,而平素系统稳定了若干
最后经过百度发现newinit.sh是一种挖矿脚本,是通过6379端口接入走后门被注入进来的,说到6379大家肯定很熟悉,没错这个就是Redis的默认端口,庆幸的是还好这个木马不是很深入,如果入侵的黑客是大神直接把木马深入到内核那这得重装系统了,经过这个事件以后我奉劝大家2个事情
“缺芯少魂”一直是我国信息产业发展的一大难题,而“少魂”就是指操作系统等基础软件薄弱。“拿来主义”这种传统解决方式在给我们带来便利的同时,也桎梏了我们的创新。腾讯的操作系统研发也走过了从拿来主义到创新研发的道路。云计算时代,操作系统向下适配多元化硬件,向上支撑多样化产品,其重要性不言而喻。让我们一起了解下腾讯操作系统的创新之路。
作者吴雁林,腾讯高级测试开发工程师,5年服务器测试经验,曾负责保卫萝卜3,龙之谷服务器性能测试
我们知道redis的底层是用c语言来编写的,但是,数据结构确没有直接套用C的结构,而是根据redis的定位自建了一套数据结构。
摘要:针对购物旺季网站流量会对数据库造成的压力,作者给出了MySQL性能调优的一些技巧,这些技巧极具参考价值,通过这些调优,可以有效避免因为流量过大造成服务器宕机,从而给企业造成经济损失。以下是译文: 万圣节已经过去很久了,该是把注意力集中在即将到来的假日季节的时候了。首先是感恩节,接着就是黑色星期五和网络星期一,最终在圣诞节/节礼周(从12月26日的节礼日开始,到12月31日的除夕结束为期六天或更长时间。这个词是由零售业在2000年代中期左右发明的,试图延长他们的节礼日销售)达到购物高潮。对于企业主来说,
本文介绍了如何使用腾讯WeTest服务器性能测试工具进行游戏服务器性能测试,通过模拟真实业务场景和用户行为进行压力测试,帮助游戏开发者发现服务器端的性能瓶颈,进行针对性的性能调优,降低服务器采购和维护成本,提高用户留存和转化率。
好多同学在收到D监控宕机通知的邮件后,发现自己网站还能访问,并没有宕机,认为这是D监控的误报。
我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作。
上篇文章介绍了kafka的设计概要,有点对点的队列模式,和消费生产的topic模式,kafka有着高吞吐,低延迟,伸缩性,消息持久化,负载均衡故障转移特性,kafka跟其他处理内存方式不同,内存高命中率来保证发送消息直接在内存操作,而持久化直接交给系统去处理,并且持久化采用的是顺序IO,sendFile零拷贝来保证高吞吐。Kafka的负载均衡则是采用broken和topic每个都有一个master和flower,每个topic的matser和flower不在同一个broken,这样保证一个服务器宕机,其他的flower也会存储数据,不会丢失,故障转移则是 会通过会话心跳的机制跟zookeeper来实现,通过服务注册入zookeeper中,一旦服务器停止,则会选举新的服务。伸缩性也是由zookeeper来配合的,因为有多个服务,这时候则需要考虑多个服务的一致性,服务的无状态 或者 轻量级状态可以保证效率更高,所以他们统一吧状态写入zookeeper保存。
我们都知道,Redis 的数据存储在内存中, 一旦服务器宕机,内存中的数据将全部丢失。因此,对 Redis 来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要的。本篇我们详细讲解下 Redis 的三种持久化机制,分别是 AOF(Append Only File) 日志和 RDB 快照 以及 混合持久化。
计科专业从事嵌入式软件开发多年,最近因为公司需要搞后台研发,经常选择升级的时机放在凌晨,而且大型的数据处理也是放在这个时间段内,经常发生的服务器宕机也是在这个时段。都是在用户使用少的时候开始折腾,折腾的次数多也就容易出现服务器问题。由于做的是物联网设备,在工作中遇到的宕机主要有这么几种情况,对大量数据的操作导致CPU占比在一段时间内骤增从而导致数据接收模块出问题,导致系统监控出现问题,很多设备信息检测不到了。
Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。
很多小伙伴都用 Redis 做缓存,那如果 Redis 服务器宕机,内存中数据全部丢失,应该如何做数据恢复呢?有人说很简单呀,直接从 MySQL 数据库再读回来就得了。
1. 缓存是什么 1.1. 存储宕机的致命代价 1.2. 数据库性能为什么会下降 1.3. 缓存的类型
Redis我们都知道Redis的内容是放在内存当中的,如果我们的安装Redis的服务器宕机了,那么我们在内存保存的内容也就丢失了。在Redis当中给提供了不同级别的持久化的方式来进行数据的保存: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。 AOF持久化方式记录每次对服务器写的操作。当服务器重启的时候会重启执行这些命令来恢复原始的数据,AOF命令以redis协议追加每次写的操作到文件的末尾,Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。 也可以不运行持久化的方式。
昨日,GitHub 出现了服务中断问题,网页无法打开,并且中断持续了数个小时,直至下午16点多才恢复正常。
性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面:
我不得不承认,我的能力不足以写出一个100%不会宕机的游戏服务器程序,这也不能全怪我的能力太弱,谁让咱国内网游玩家数量庞大,哪个游戏刚上线时没有挤的爆满过?还有些或是猎奇,或是谋私的个人和组织,在制造着千奇百怪,匪夷所思的数据包及操作流程来试探你的服务器。这些都曾是我在服务器宕机后向老板开脱的理由。
推荐使用gotop[1]插件,可以从终端直观的、实施的查看CPU、内存、磁盘等指标。
Nimbus 资源调度 任务分配 接收jar包 Supervisor 接收nimbus分配的任务 启动、停止自己管理的worker进程(当前supervisor上worker数量由配置文件设定) Worker 运行具体处理运算组件的进程(每个Worker对应执行一个Topology的子集) worker任务类型,即spout任务、bolt任务两种 启动executor (executor即worker JVM进程中的一个java线程,一般默认每个executor负责执行一个task任务)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
领取专属 10元无门槛券
手把手带您无忧上云