01 2019 档案
摘要:1)URL:页面地址。 2)Method :页面的提交方式,POST或GET。 3)EncType:编码类型。此参数给出一个内容类型(Content-Type),指定其做为回放脚本时“Content-Type”请求头的值,例如“text/html”。 4)BodyFilePath: 作为请求体传送的
阅读全文
摘要:手写脚本 什么时候要手写? 可以有条件手写脚本的场景有两类: 有接口说明文档 没有借口说明文档,要去录制,录制不了,抓包手写 所需函数 我们这里讲的例子是基于 http 协议的,也是常见的两种请求类型:get+post,主要有以下 3 个函数 web_url web_custom_request w
阅读全文
摘要:Tools Recording Options 接下来我们挨个看一下里面的东东以及区别 General(通常的) Script,不用修改,是脚本的语言,我们一般都是基于 C 语言的 Protocols:指的是协议,我们选的就是 HTTP 协议 Recording HTML-based script(
阅读全文
摘要:我们用 HTTP 协议做脚本,要注意的是,不同协议的函数是不一样的,假如换 websocket 协议,关联函数就要用其他的 参数化 原理 1、什么叫参数化 把脚本内一个写死的值,去一个数组内取值,进行替换 2、为什么要参数化 烂大街的回答:模拟真实场景,模拟真实情况 真实原因: 应用程序/数据库对数
阅读全文
摘要:简述HTTP请求过程 步骤一: 浏览器先向服务器发送 HTTP 请求,包括的内容有: 方法:GET/POST。GET仅请求资源,POST会附带用户数据 路径:/XXX/XXX 域名:由 Host 头指定:Host:www.ganziwen.cn 以及其他相关的 header; 如果是 POST ,那
阅读全文
摘要:请提前到官网注册GitHub账号,提前在terminal或者cmd安装git,然后你要检测自己电脑是否存在 SSH key,然后需要把SSH key复制下来,粘贴到你的GitHub。 - 第一步:安装git,一般都还没有安装git就去找SSH key,怎么可能找得到 - 请必须先有自己的GitHub
阅读全文
摘要:在第2章我们讲到,服务器在初始化CatServlet 之后, 会初始化 MVC,MVC也是继承自AbstractContainerServlet , 同样也是一个 Servlet 容器,这是一个非常古老的MVC框架,当时Spring MVC 还并不成熟,但是所有MVC框架的核心思想都是一致的。 在初
阅读全文
摘要:周期结束 我们从消息分发章节知道,RealtimeConsumer在初始化的时候,会启动一个线程,每隔1秒钟就去从判断是否需要开启或结束一个周期(Period),如下源码,如果 value < 0 的时候,就会启动一个周期结束线程,线程会调用endPeriod函数,找到需要结束的周期,完成周期的结束
阅读全文
摘要:CrossAnalyzer-调用链分析 在分布式环境中,应用是运行在独立的进程中的,有可能是不同的机器,或者不同的服务器进程。那么他们如果想要彼此联系在一起,形成一个调用链,在Cat中,CrossAnalyzer会统计不同服务之间调用的情况,包括服务的访问量,错误量,响应时间,QPS等,这里的服务主
阅读全文
摘要:大众点评CAT微服务监控架构对于消息的具体处理,是由消息分析器完成的,消息分析器会轮训读取PeriodTask中队列的消息来处理,一共有12类消息分析器,处理后的结果就是生成各类报表。 消息分析器的构建 在周期Period构造函数中,我们会通过m_analyzerManager.getAnalyze
阅读全文
摘要:CAT配置 在CAT中,有非常多的配置去指导监控的行为,每个配置都有相应的配置管理类来管理,都有一个配置名, 配置在数据库或者配置文件中都是以xml格式存储,在运行时会被解析到具体实体类存储。我们选取一个配置的初始化代码来分析: 以上代码是serverFilter配置的初始化逻辑,该配置的管理类是S
阅读全文
摘要:这边首先介绍下大众点评CAT消息分发大概的架构如下: 图4 消息分发架构图 分析管理器的初始化 我们在第一章讲到服务器将接收到的消息交给解码器(MessageDecoder)去做解码最后交给具体的消费者(RealtimeConsumer)去消费消息。 RealtimeConsumer 是在什么时候被
阅读全文
摘要:cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类; io目录包含建立服务端连接、重连、消息队列监听、上报等io实现类; spi目录为上报消息工具包,包含消息二进制编解码、转义等实现类。 消息的组织 - 消息树 大众点评Cat使用
阅读全文
摘要:Cat模块 Cat-client : cat客户端,编译后生成 cat-client-2.0.0.jar ,用户可以通过它来向cat-home上报统一格式的日志信息,可以集成到 mybatis、spring、微服务 dubbo 的监控等等流行框架。 Cat-consumer: 用于实时分析从客户端提
阅读全文
摘要:前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合,支持PHP、C++、Go等多语言应用,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、
阅读全文
摘要:主题下载链接: http://www.themesmap.com/ pycharm -- 导入主题(theme) and 修改背景颜色(护眼色) 前情提要 众所周知,随着python语言的不断流行,越来越多的程序员开始用python来开发自己的项目以及产品。 pycharm作为一款流行的IDE,被越
阅读全文
摘要:一、awstats 是什么 官方网站:AWStats is a free powerful and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically.
阅读全文
摘要:准备工作: Awstats 是由perl语言编写的,所以要首先准备好awstats的运行环境。# yum install –y perl* Apache 一、首先,要安装apache服务器,并且启动httpd服务。我的apache是yum安装的,配置文件路径为:/etc/httpd/conf/htt
阅读全文
摘要:阅读目录 一、前言 二、使用钉钉推送的优势 三、配置 阅读目录 一、前言 二、使用钉钉推送的优势 三、配置 一、前言 最近使用Jenkins进行自动化部署,但是发布署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于大家接受的设置,导致不能及时看到相关的发布内容。由于之前有用Gitlab
阅读全文
摘要:Jenkins插件大师 作为CI/CD的调度中心,Jenkins具有十八般武艺,目前已有1700多个插件,功能强大到似乎有点过分了。本文主要列出平时我们常用的插件。 以下这两个网站是Jenkins所有的插件及说明 Jenkins Plugins https://plugins.jenkins.io
阅读全文
摘要:堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden,
阅读全文
摘要:Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。 这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,还是yum安装,比较简单方便。。。 更多关于Git的内容,请看下面的链接: Git官方文档:Git-Book Gi
阅读全文
摘要:Linux卸载yum安装的mysql 一、系统情况 Linux:Centos7.4(64位) Mysql:5.6 二、卸载mysql 1.查看安装了哪些mysql程序 Bash Bash 2.使用yum remove卸载 Bash Bash 3.剩下卸载不了使用 Bash Bash 4.删除残留的m
阅读全文
摘要:首先,给出一系列 IntelliJ IDEA 代码的彩色主题,供大家选择: VibrantUnknown(Darcula) FadeComments NicePython Solarized Havenjark GeditForElegantGnome Gvim 在选完我们中意的主题之后,需要大家到
阅读全文
摘要:版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 以上就是使用最原始的方式进行版本控制,但是这种方式有显著缺点: 多个文件,保留所有版本时,需要为每个版本保存一个文件... 协同操作,多人协同操作时,需要将文件打包发来发去... 容易丢失,被删
阅读全文
摘要:提升性能 1、允许情况下,调大连接数 2、开启查询缓存(看命中率,用在变化不大的表内) 3、锁(查看是否存在死锁) 4、慢查询(将执行时间过长的语句写入日志内) 5、explain(分析表结构,type 为 ALL或extra 为 Using filesort、Impossible where、Us
阅读全文
摘要:docker 一.运行docker Linux内核版本需要在3.8以上,针对centos6.5 内核为2.6的系统需要先升级内核.不然会特别卡 在yum的ELRepo源中,有mainline(4.5)、long-term(4.4)这2个内核最新版本,考虑到long-term更稳定,会长期更新,所以选
阅读全文
摘要:概念 数据类型 Java 虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,l
阅读全文
摘要:排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
阅读全文
摘要:Jdk 安装分三步:第一步,上传跟 linux 位数相同的 jdk tar 包,解压;第二步:解压 tar 包,配置环境变量,且 source 一下 /etc/profile;第三步:检查版本 第一步,咱就不废话:看看解压后,咱们可以重名下,数字太长不好看呀 jdk的bin目录路径: # pwd/o
阅读全文
摘要:一、备份数据库 mysql自带了数据库备份工具mysqldump可以很方便的对数据库进行备份: 1 mysqldump -u root -p --all-database > db.sql 1 mysqldump -u root -p --all-database > db.sql 1 1 mysq
阅读全文
摘要:Linux下安装Python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一、安装python3.6 1. 安装依赖环境 # yum -y
阅读全文
摘要:一、setuptools安装错误:RuntimeError: Compression requires the (missing) zlib module 1. 描述 搞了个腾讯云的服务器,闲在手上没事准备当个测试机用用,写写代码什么的。然后按照之前写的文章安装了python2.7,安装的中途出现了
阅读全文
摘要:一、说明 CentOS6.5自带python环境为2.6,公司的python环境为2.7. 为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折。。。。 中途遇到的问题和解决方法请点击:Python安装时遇到的问题 二、安装步骤 1、下载安装包 官方下载地址为:ht
阅读全文
摘要:当selenium调用firefox时,会发现这个firefox里干净的如同一盆清水,自己定制安装的那些插件都不翼而飞了,这个时候那些插件自然就不能使用了,但是当前又必须使用插件该如何是好呢? 解决办法: 一、打开firefox浏览器,并选择”帮助”菜单中的”故障排除信息” 选项 二、进入到故障排除
阅读全文
摘要:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Mem
阅读全文
摘要:Redis是NoSQL中比较常典型的一个非关系型数据库,在日常工作中也是最为常见的。Redis是一个由C语言编写的开源的、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 https://db-engines.com/en/ranking 一
阅读全文
摘要:MongoDB 基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案,它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组
阅读全文
摘要:Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火。Nosql指的是非关系型数据库,而我们常用的都是关系型数据库。就像我们常用的mysql,sqlserver一样,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。但是,随着互联网的高速发展,传统的关系
阅读全文
摘要:一、配置java环境 1、linux下安装jdk,在此处安装1.7_x64的jdk,解压缩 2、将jdk移动到/usr下 3、配置环境变量 在打开的文件的末尾添加 4、保存退出,然后输入下面的命令来使之生效 二、tomcat操作 1、安装tomcat,将tomcat解压至/opt中并进入解压缩后的t
阅读全文
摘要:在日常的测试工作中,有时会有需要调用外部接口,拿到返回数据用以满足当前的测试任务的需求。但是当外部接口不可用,或者没有提供测试用环境时,我们就需要自己来mock一个接口的返回内容了,先让我们看一看下面的这段代码 上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两
阅读全文
摘要:服务器设置 gzip 压缩是 web 开发里很普遍的做法。假设你要请求一个 100k 的文件,网络传输速度为 50k/s,需要 2s 才能得到数据,但是如果在服务器设置了 gzip 压缩,将服务端的文件压缩到了 50k(实际上的压缩率往往小于 50%),这时候只需 1s 就能得到数据,然后在客户端解
阅读全文
摘要:前一篇写了我们的Html的常用组件,当然那些组件在我们不去写样式的时候都是使用的浏览器的默认样式,可以说是非常之丑到爆炸了,我们肯定是不能让用户去看这样丑到爆炸的样式,所以我们在这里需要使用css样式来美化一下前面的组件,让我们的页面更美观。 在开始css这部分之前,我们需要先在此着重提一下div这
阅读全文
摘要:什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup tag) HTML 使用标记标
阅读全文
摘要:#运行用户 #user nobody; #启动进程,通常设置和cpu的数量相等 worker_processes 1; #全局错误日志及pid文件路径 #error_log logs/error.log; #error_log logs/error.log notice; #error_log lo
阅读全文
摘要:我们在使用loadrunner做性能测试的时候经常会出现一些URL编码问题,如当参数中存在中文的时候 抓包的时候可以看到&user=%e5%ad%9f%e6%9e%97,然而我们在loadrunner中的脚本日志会发现并不是这样,其原因是测试脚本中汉字的编码是ACSII而网站中汉字的编码是UTR-8
阅读全文
摘要:qqmail->126mail send email 发送带附件的邮件 之前写过用标准库使用Python Smtplib和email发送邮件,感觉很繁琐,久了不用之后便忘记了。前几天看知乎哪些Python库让你相见恨晚?,看到了yagmail第三方库,学习过程中遇到一些问题,记录在此处。 之前使用的
阅读全文
摘要:阅读目录 一、Python编写的监控工具 二、使用Python开源库psutil监控Linux 一、Python编写的监控工具 一、多功能系统资源统计工具dstat 1、dstat介绍 dstat是一个用Python语言实现的多功能系统资源统计工具,用来取代Linux下的vmstat、iostat、
阅读全文
摘要:我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-
阅读全文
摘要:持久代:不会被 gc 给轻易回收的,创建后一直存在,持久代在堆内存里面,但是不归 java 程序使用。持久代是 动态 load 的那些 class,局部变量,去 gc 其实也 gc 不了啥 1.8 之前是 Perm Gen之后 ,1.8 之后 ,非堆就变成了 mate space,叫元组区,就放 l
阅读全文
摘要:SQL Server阻塞与锁 在讨论阻塞与加锁之前,需要先理解一些核心概念:并发性、事务、隔离级别、阻塞锁及死锁。 并发性是指多个进程在相同时间访问或者更改共享数据的能力。一般情况而言,一个系统在互不干扰的情况下可以激活的并发用户的进程数越多,该系统的并发性就越强。就像通常所说的系统性能表现,系统同
阅读全文
摘要:jconsole 说明: 首先JConsole这个是JDK里面自带的工具 在JAVA_HOME/bin目录下,今天主要测试远程监控JVM 第一步:设置好需要远程机器的Tomcat 修改Tomcat下的配置文件:/opt/tomcat7/bin/catalina.sh 在 文件中找到 Execute
阅读全文
摘要:Java性能分析之线程栈详解 Java性能分析迈不过去的一个关键点是线程栈,新的性能班级也讲到了JVM这一块,所以本篇文章对线程栈进行基础知识普及以及如何对线程栈进行性能分析。 基本概念 线程堆栈也称线程调用堆栈,是虚拟机中线程(包括锁)状态的一个瞬间状态的快照,即系统在某一个时刻所有线程的运行状态
阅读全文