前情概要随着容器和云技术的发展,大量的应用运行在云上的容器中,它们的好处是毋庸置疑的,例如极大的提高了我们的研发部署速度,快速的扩缩容等等,但是也存在一些小小的问题,例如难以调试.基于VM的部署我们可以通过安全的方式登录到主机上做一些你想做的事情,但是云上的容器那就是不太方便了(目前AWS的ECS已经有类似dockerexec的方式直接进入容器中了,其他的云未作了解).但是就算能进入容器也不意味着调试就好做了,通常来说使用的镜像都是经过优化和精简的(如果要调式可能需要安装大量的组件).所以,接下来介绍一下使用dotnet-monitor来内存转储(memorydump)运行在容器中的dotne
前情概要随着容器和云技术的发展,大量的应用运行在云上的容器中,它们的好处是毋庸置疑的,例如极大的提高了我们的研发部署速度,快速的扩缩容等等,但是也存在一些小小的问题,例如难以调试.基于VM的部署我们可以通过安全的方式登录到主机上做一些你想做的事情,但是云上的容器那就是不太方便了(目前AWS的ECS已经有类似dockerexec的方式直接进入容器中了,其他的云未作了解).但是就算能进入容器也不意味着调试就好做了,通常来说使用的镜像都是经过优化和精简的(如果要调式可能需要安装大量的组件).所以,接下来介绍一下使用dotnet-monitor来内存转储(memorydump)运行在容器中的dotne
mysqldump和mydumper是我们常用的两个逻辑备份工具。无论是mysqldump还是mydumper都是将备份数据通过INSERT的方式写入到备份文件中。恢复时,myloader(mydumper中的恢复工具)是多线程导入,且一个INSERT语句中包含多条记录,多个INSERT操作批量提交。基本上,凡是我们能想到的,有助于提升导入速度的,myloader都会使用或有选项提供。单就恢复速度而言,可以说,myloader就是逻辑恢复工具的天花板。既然如此,还有办法能继续提升逻辑恢复工具的恢复速度么?毕竟,备份的恢复速度直接影响着灾难发生时数据库服务的RTO。答案,有!这个就是官方在MyS
mysqldump和mydumper是我们常用的两个逻辑备份工具。无论是mysqldump还是mydumper都是将备份数据通过INSERT的方式写入到备份文件中。恢复时,myloader(mydumper中的恢复工具)是多线程导入,且一个INSERT语句中包含多条记录,多个INSERT操作批量提交。基本上,凡是我们能想到的,有助于提升导入速度的,myloader都会使用或有选项提供。单就恢复速度而言,可以说,myloader就是逻辑恢复工具的天花板。既然如此,还有办法能继续提升逻辑恢复工具的恢复速度么?毕竟,备份的恢复速度直接影响着灾难发生时数据库服务的RTO。答案,有!这个就是官方在MyS
背景昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header,querystring中取相关信息,但同事发现他在调用时,无法按期望的那样从querystring中传参数给到第三方webAPI(webAPI仿佛忽略了从querystring过来的信息),朋友不知道是这个webAPI的问题,还是自己调用代码的问题了。。由于这个webAPIservice是他们公司内部的某team的项目,所以朋友虽然可以看到源码,但他并不能快速确定原因,维护项目的人又不好找。通过webAPIservice代码他自己找到了可疑的原因是webAPI中的这个方法有可能
背景昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header,querystring中取相关信息,但同事发现他在调用时,无法按期望的那样从querystring中传参数给到第三方webAPI(webAPI仿佛忽略了从querystring过来的信息),朋友不知道是这个webAPI的问题,还是自己调用代码的问题了。。由于这个webAPIservice是他们公司内部的某team的项目,所以朋友虽然可以看到源码,但他并不能快速确定原因,维护项目的人又不好找。通过webAPIservice代码他自己找到了可疑的原因是webAPI中的这个方法有可能
一、什么是Dump文件Dump文件又叫内存转储文件或者叫内存快照文件,是进程的内存镜像。在进程崩溃时或进程有其他问题时,甚至是任何时候,我们都可以通过工具抓取系统或某进程的dump供调试分析用。dump文件中包含了程序运行的模块信息、线程信息、堆栈调用信息、异常信息等数据。当我们的应用程序发布出去,在客户机上出线了问题(崩溃、失去响应、资源消耗过高,性能不理想),由于这些问题不是发生在开发环境下的,这时我们就需要在客户机上想办法抓取dmp文件,拿回来进行分析。windows系统自己出了问题,比如蓝屏了,这时系统会自动产生dump文件,被微软收集分析。二、Dump文件的分类 1、内核模式Ker
一、什么是Dump文件Dump文件又叫内存转储文件或者叫内存快照文件,是进程的内存镜像。在进程崩溃时或进程有其他问题时,甚至是任何时候,我们都可以通过工具抓取系统或某进程的dump供调试分析用。dump文件中包含了程序运行的模块信息、线程信息、堆栈调用信息、异常信息等数据。当我们的应用程序发布出去,在客户机上出线了问题(崩溃、失去响应、资源消耗过高,性能不理想),由于这些问题不是发生在开发环境下的,这时我们就需要在客户机上想办法抓取dmp文件,拿回来进行分析。windows系统自己出了问题,比如蓝屏了,这时系统会自动产生dump文件,被微软收集分析。二、Dump文件的分类 1、内核模式Ker
在进行数据库备份的时候主要分为了逻辑备份和物理备份这两种方式。在数据迁移和备份恢复中使用mysqldump将数据生成sql进行保存是最常用的方式之一。本文将围绕着mysqldump的使用,工作原理,以及对于InnoDB和MyISAM两种不同引擎如何实现数据一致性这三个方面进行介绍。一.mysqldump简介mysqldump是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。二.备份的命令2.1命令的格式1.mysqldu
在进行数据库备份的时候主要分为了逻辑备份和物理备份这两种方式。在数据迁移和备份恢复中使用mysqldump将数据生成sql进行保存是最常用的方式之一。本文将围绕着mysqldump的使用,工作原理,以及对于InnoDB和MyISAM两种不同引擎如何实现数据一致性这三个方面进行介绍。一.mysqldump简介mysqldump是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。二.备份的命令2.1命令的格式1.mysqldu