携程自2013年开始使用Redis,旧时期为Memcached和Redis混用状态。由于Redis在处理性能,可储存key的多样化上有着显著的优势,2017年开始,Memcached全部下线,全公司开始大规模使用Redis。Redis实例数量也由刚开始的几十个增长到几万个,数据量达到百TB规模。作为Redis的运维方,为保证Redis的高可用性,DBA的压力也随Redis使用规模的增大而增大,集群的扩容,上下线,实例扩容都面临着不小的挑战。
OOM是实例使用内存超过实例规格内存上限导致进程被kill,实例存在秒级的不可用。MySQL的内存管理比较复杂,内存监控需要开启performance schema查询(默认关闭),会带来额外的内存消耗和性能损失,在不开启performance schema情况下排查内存使用情况又比较困难。本文将基于TDSQL-C(基于MySQL5.7)总结一下在线上经常出现的一些OOM的场景、排查手段及相应的优化方案。 ---- 一、MySQL线上常见OOM问题 1.1 表数量较多导致innodb数据字典内存占用多 查
案例是一个泰国网站的生产环境(请脑补一句“萨瓦迪卡”,为了叙述方便,下文中均以"萨瓦迪卡"指代这个网站。)“萨瓦迪卡”是一个 采用 Wordpress + MySQL搭建的应用。这个遗留系统已经工作了五年。客户已经把在其它 VPS 上平移到 AWS 上。平移(lift and shift)是说原样复制,而迁移(migration)还要进行改造。而客户唯一发挥 AWS 优势的一点就是用了一个配置很高的 EC2 虚拟机 —— m4.4xlarge。这样一台配置的虚拟机有 16 个虚拟 CPU,64 GiB 的内存,以及 2000 Mbps 的网络带宽,最高 3000 IOPS 的 200GiB 的块存储设备(也就是硬盘)。
达达是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题(目前达达已经与京东到家合并)。 达达业务主要包含两部分:商家发单,配送员接单配送,如下图所示。
作者:龚唐杰,爱可生 DBA 团队成员,主要负责 MySQL 技术支持,擅长 MySQL、PG、国产数据库。
当我们使用一个事务操作很多数据时, MySQL 有时会报错: The total number of locks exceeds the lock table size
很多新手都在使用 Memcached 或者 Redis 扩展来加速服务器数据库的运行性能,其实这些扩展对于小博客的服务器来说有时候是个负担和安全隐患的,具体可以参考【理智冷静的使用 Memcached 或者 Redis】一文,那么不使用优化扩展我们如何来提升 MySQL 或 MariaDB 数据库的运行性能呢?
1、CPU,如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU繁忙,一般情况下CPU使用率<75%比较合适。 2、内存,Java内存一般是通过jvm内存进行分配的,主要是用jvm中堆内存来存储Java创建的对象。内存的读写速度非常快,但是内存空间又是有限的,当内存空间被占满,对象无法回收时,就会导致内存溢出或内存泄漏。 3、磁盘I/O,磁盘的存储空间要比内存存储空间大很多,但是磁盘的读写速度比内存慢,虽然现在引入SSD固态硬盘,但是还是无法跟内存速度相比。 4、网络,带宽的大小,会对传输数据有很大影响,当并发量增加时,网络很容易就会成为瓶颈。 5、异常,Java程序,抛出异常,要对异常进行捕获,这个过程要消耗性能,如果在高并发的情况下,持续进行异常处理,系统的性能会受影响。 6、数据库,数据库的操作一般涉及磁盘I/O的读写,大量的数据库读写操作,会导致磁盘I/O性能瓶颈,进而导致数据库操作延迟。 7、当在并发编程的时候,经常会用多线程操作同一个资源,这个时候为了保证数据的原子性,就要使用到锁,锁的使用会带来上下文切换,从而带来性能开销,在JDK1.6之后新增了偏向锁、自旋锁、轻量级锁、锁粗化、锁消除。
数据库的报警可以拆分为很多类别,但是有一点是无论如何都跑不掉的,而且花样百出,那就是磁盘空间报警。
MYSQL 的CPU 使用率高,干时间长的DB们都会遇到,其实其他的数据库也都是有类似的问题,CPU一升高。大部分DBA 的首要工作就是要看是不是有大事务,大查询,慢查询等等。实际上我们是不是有更好的快速定位的方法
运行线程数>= min{64,实例CPU核数*4},持续粒度5s,持续3个数据点,每小时告警一次
工程师反馈数据库服务器内存使用率高,并且之前曾触发告警,登录服务器使用top -u mysql查看进程使用内存信息:
本文介绍了 vivo 在大数据元数据服务横向扩展道路上的探索历程,由实际面临的问题出发,对当前主流的横向扩展方案进行了调研及对比测试,通过多方面对比数据择优选择 TiDB 方案。同时分享了整个扩展方案流程、实施遇到的问题及解决方案,对于在大数据元数据性能上面临同样困境的开发者本篇文章具有非常高的参考借鉴价值。
CPU使用率:CPU的使用率 平均负载:单位时间内的活跃线程数 用户时间:CPU在用户进程上的实际百分比 系统时间:CPU在内核上花费的实际百分比 空闲时间:系统处于在等待IO操作上的时间总和 等待:CPU花费在等待IO操作上的时间总和 Nice时间:CPU优先执行的时间百分比
Python今年则超过SQL,重新回到第三的位置。除此之外,Bash/Shell、C、Ruby、Perl和Erlang也都有所上升。
一台运行了好久的服务器CPU使用率达到100%,脑海中第一个想法就是中病毒了,于是开始了我的杀毒之旅。
发现46b1对应的线程为Parallel GC Threads,这个就是JVM下的GC线程,它在频繁的进行垃圾回收。
1. 达达系统架构升级经验总结 1.1. 概述 达达是全国领先的最后三公里物流配送平台。达达业务主要包含两部分:商家发单,配送员接单配送。 达达的业务规模增长极大,在1年左右的时间从零增长到每天近
NFTScan 是一家多链 NFT 数据基础设施服务商,为 Web3 用户提供高效简洁的 NFT 资产搜索查询服务,为 Web3 开发者和新一代金融科技公司提供专业的 NFT API 数据服务。
PolarDB Serverless脱胎于 PolarDB 团队发表在SIGMOD 2021的论文,是选取其中成熟的技术最终产品化的结果。我们借助两大核心技术,高性能全局一致性SCC和热备无感秒切,无论在跨机扩展还是跨机切换,都达到了业界领先的能力。PolarDB MySQL Serverless于去年底正式上线,目前已经有1000+用户开始上手使用。本文期望从实践角度,演示如何测试PolarDB Serverless的弹性能力。
在MongoDB中,加载各种依赖的lib到内存、管理客户端请求、元数据管理存储等工作都需要占用内存,但其实内存使用的大部分还是在存储引擎和客户端连接请求处理方面。
使用 top 指令,服务器中 CPU 和 内存的使用情况,-H 可以按 CPU 使用率降序,-M 内存使用率降序。排除其他进程占用过高的硬件资源,对 Java 服务造成影响。
达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题(2016年4月,达达已经与京东到家合并)。
大家好,我是 ConardLi, 拖了这么久,JS 生态圈最权威的调查报告 state-of-js 终于是出来了 ...
爱可生 DBA 团队成员,擅长故障分析、性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论。
要导出MySQL日志,您可以配置MySQL以记录查询、慢查询和与复制相关的信息。您可以使用Filebeat或Fluentd等工具来收集并发送这些日志进行分析。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第二篇,在《prometheus实战之一:用ansible部署》一文咱们部署了prometheus服务,并且在应用服务器部署了node_exporter,整体情况如下图 📷 目前,prometheus已经可以通过node_exporter从应用服务器取得监控数据,本篇就来学习如何使用这些监控数据来展现应用
操作系统:CentOS Linux release 7.5.1804 (Core) 64核64G
画架构图是为了知道请求是从哪里到哪里,做性能分析一定先画个图,脑子里就会有路径的概念了。
年前本应该是回顾一年工作和收尾的阶段,奈何各种促销,活动都等着春节,因此也遇到了不少的问题,回顾了一下最近遇到的问题,发现有好几个问题比较类似,正好整理一下,作为年前收尾的案例吧。表现上都是数据库假死,无响应,发生的场景有较高的业务压力到来时,也有业务正常运行的时候,突然就出现问题了。
前面介绍了如何运用Python获取Oracle数据库的信息以及将数据存入MySQL数据库中
近日,O'Reilly 出炉了“2022 技术趋势”报告。该报告数据展示了当前在 AI 技术推动下为行业带来的巨大转变,让我们对接下来新技术趋势带来的全新思维方式及其意义,以及未来塑造软件开发和软件架构的大变化有了进一步了解。
在日常运维工作中,会碰到服务器带宽飙升致使网站异常情况。作为运维人员,我们要能非常清楚地了解到服务器网卡的流量情况,观察到网卡的流量是由哪些程序在占用着。 今天介绍一款linux下查看服务器网卡流量占用情况的工具:Nethogs,来自github上的开源工具。 它不依赖内核中的模块。当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个程序占用了大量带宽。节省了查找时间。 Nethogs安装: 方法一:在epel源中可以直接yum安装 [root@dev src]# yum install -
近些年随着云计算和云原生应用的兴起,容器技术可以很好地解决许多问题,所以将大数据平台容器化是一种理想的方案。本文将结合袋鼠云数栈在Flink on Kubernetes的实践让您对大数据平台容器化的操作和价值有初步的了解。
https://www.cnblogs.com/poloyy/category/1814570.html
小编最近刚接触了一款性价比较高的性能评测工具-PerfDog,这是腾讯旗下的一款移动全平台iOS/Android性能测试及指标分析工具平台,简而言之就是测试采集手机在运行App时的性能指标数据:FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network、CTemp等性能参数,从而快速定位分析App的性能问题,小编在这里主要介绍下相关名词含义、使用技巧及案例分析。
MySql一般使用自动增长类型,在创建表的时候只要指定表的主键为auto increment,插入记录时就不需要再为主键添加记录了,主键会自动增长。Oracle中没有自动增长,主键一般使用自动增长序列,插入记录时将序列号的下一值付给该字段即可,只是ORM框架只是需要native主键生成策略即可。
内容来源:2018 年 5 月 20 日,爱可生技术服务总监洪斌在“PHPCon China 2018 技术峰会”进行《MySQL性能诊断方法与实践》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。
今天下午,线上阿里云RDS的本地只读从库宕机了,还好,这个个服务器上的数据库实例只是提供了一部分的读需求,很快就复原了,但是上面所有的数据库实例都down掉了,启动实例并保证主从复制关系迫在眉睫。这个过程中发现有一个主从复制的问题值得研究一下,虽然最后我解决了,但是具体的原因没有找到,还请大家帮忙看看,也算是集思广益了,如果某一天找到原因了,再回来更新一下。
我之前呆过一家创业工作,是做商城业务的,商城这种业务,表面上看起来涉及的业务简单,包括:用户、商品、库存、订单、购物车、支付、物流等业务。但是,细分下来,还是比较复杂的。这其中往往会牵扯到很多提升用户体验的潜在需求。例如:为用户推荐商品,这就涉及到用户的行为分析和大数据的精准推荐。如果说具体的技术的话,那肯定就包含了:用户行为日志埋点、采集、上报,大数据实时统计分析,用户画像,商品推荐等大数据技术。
很多小伙伴留言说让我写一些工作过程中的真实案例,写些啥呢?想来想去,写一篇我在以前公司从零开始到用户超千万的数据库架构升级演变的过程吧。
https://www.cnblogs.com/poloyy/category/1806772.html
某项目压测后发现qps达标,服务器cpu和内存占用均在70%以下,然而mysql服务的内存占用高达100%,且并没有因为压测而产生波动。
如何选购及管理腾讯云 MySQL 数据库?有了腾讯云计算作为基础,我们可以把这些复杂的底层操作交给云计算去完成,而我们只要集中精力去实现业务就可以了。
为更好的帮助DBA运维数据库,腾讯云将于每月12日在社群直播开展DBbrain诊断日,腾讯云高级产品经理迪B哥直播解析经典数据库运维难题,结合腾讯云数据库智能管家DBbrain的能力,为大家提供问题优化思路和方法,玩转数据库! 本期诊断日主要分享内容:如何使用智能管家DBbrain解决MySQL实例CPU使用率过高的问题? 1 前言 在使用MySQL的过程中,经常会遇到由于数据库性能问题导致的业务故障。对于研发、运营、产品等非运维职能的同事来说,往往更愿意请DBA来协助定位问题和优化。如果公司确有DBA
领取专属 10元无门槛券
手把手带您无忧上云