微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

性能测试相关基础知识一

一.服务器

1.虚拟技术发展

1).虚拟技术:

  刀片机

2).vm虚拟技术:

  刀片机上虚拟影子机器(kvm)

随着虚拟技术的出现,加上Linux支持用户,Linux作为服务器开始盛行

缺点:消耗本身物理机内核,虚拟多个时机器会很卡;

   多个物理机虚拟出多个机器时,难管理

3).云技术:

消耗更小的物理机资源,一台机器可以虚拟出多个服务器,云技术基础。

降低应用占用的内存资源---->出现了容器技术----->承载更多应用

2.os操作系统

1)linux基本技能

  入门命令,如文件管理、网络

2)cpu知识

  影响cpu性能的主要因素分两大块:主频   +  架构(主要厂商amd  intel),关系到执行指令

 

  cpu的结构主要由运算器、寄存器、控制器三大块组成:

  控制器:控制指令、运算(管理者)

  寄存器:存储指令 、临时保存输出结果  (与运算器、内存对接)

  注:cpu缓存(寄存器)越大,能缓存东西越多,生产越快,因为成本高,不可能无限大。内存同样越大越好,存储指令,结果数据

  cpu上下文切换,cpu使用率高:切换输入原料,输入原料一直变,计算的时候也一直更改,影响计算速度

  运算器:运算(干活)

3)内存知识

  是cpu与其他设备沟通的桥梁,主要用来临时存放数据,配合cpu工作,协调cpu的处理速度

注:

断电,内存数据就没有了;

内存下面与磁盘对接:运行速度小于内存,内存运行速度小于寄存器。磁盘是固化存储

4)JVM知识

Java虚拟机:

  • 一个虚构出来的运行Java程序的运行时环境,是通过在实际的计算机上仿真模拟各种计算机功能的实现。
  • 具有完善的硬件结构(如处理器,堆,栈,寄存器等),还有相应的指令系统,使用JVM就是使Java程序支持与操作系统无关。理论上,在任何操作系统上,只要有对应的JVM,即可运行Java程序

JVM的内存可分为三个区:堆、栈、方法

  • 堆区:存放由new创建的对象和数组等引用数据类型,在堆中分配的内存,由Java虚拟机GC来管理。
  • 栈区:LIFO,存放基本类型和对象的引用
  • 方法区:又叫静态区,跟堆一样,被所有的线程共享。包含所有的class和static变量

 

 参考链接https://blog.csdn.net/sunboylife/article/details/89400391

=============================-==========

安卓虚拟机(ART):在安卓系统上运行安卓程序的虚拟机。

  ART是在JVM基础上专门为Android移动设备定制的一套虚拟方案

========================================

3.web服务

1)Apache知识

  LAMP

2)Tomcat知识

  部署Java程序;

  Tomcat 的 conf 目录中的 server.xml 是其最重要的配置文件

  Tomcat 中最顶层的是 server,有且仅有一个,代表整个服务器,一个 server 可以包含至少一个 service,每个 service 可以包含多个 connector (如,http,https)和一个 container;

  server端口:监听服务器关闭请求; 其他端口意义,参考连接:https://blog.csdn.net/weixin_41180516/article/details/84404776

性能调优要关注:   tomcat认连接池的最大连接数2000;      1. maxThreads:  最大并发连接数   netstat  -anp | grep  8080 | wc  -l    查看8080端口目前有多少连接   

  • Server表示服务器,提供了一种优雅的方式来启动和停止整个系统,不必单独启停连接器和容器
  • Service表示服务,Server可以运行多个服务。比如一个Tomcat里面可运行订单服务、支付服务、用户服务等等
  • 每个Service可包含多个Connector一个Container。因为每个服务允许同时支持多种协议,但是每种协议最终执行的Servlet却是相同的
  • Connector表示连接器,比如一个服务可以同时支持AJP协议、Http协议和Https协议,每种协议可使用一种连接器来支持
  • Container表示容器,可以看做Servlet容器
    • Engine -- 引擎
    • Host -- 主机
    • Context -- 上下文
    • Wrapper -- 包装器
  • Service服务之下还有各种支撑组件,下面简单罗列一下这些组件
    • Manager -- 管理器,用于管理会话Session
    • Logger -- 日志器,用于管理日志
    • Loader -- 加载器,和类加载有关,只会开放给Context所使用
    • Pipeline -- 管道组件,配合Valve实现过滤器功能
    • Valve -- 阀门组件,配合Pipeline实现过滤器功能
    • Realm -- 认证授权组件
  参考链接https://www.jianshu.com/u/794bce41b31b     2.Tomcat中的JVM配置:   认情况下,最大能分配物理资源(内存)的一半

3)docker知识

4)k8s知识

5)微服务

4.web应用

5.数据库

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐