# 性能测试流程（二）——了解系统架构




系统架构对于测试新手来是最难的；先来了解系统所使用的技术和框架，在环境搭建阶段，你需要了解项目的部署；在性能分析与调优阶段，更要深入这些技术的细节去分析。

下面看一个基本的系统架构：

![](http://img.testclass.net/response-time.jpg)

__表示层__

表示层（浏览器）通过前端技术（HTML5/JavaScript/CSS3）将系统功能和数据展示给用户，并与用户实现交互。通过TCP/HTTP协议与业务层系统通信，向应用层系统发送请求报文，并接收应用层系统返回的响应报文。

__业务逻辑层__

业务逻辑层作为中间层实现核心业务逻辑服务。

应用服务器主要运行中间件系统，中间件系统系统作为一个容器来运行各种应用软件系统。前台发来的请求报文通过中间件传递给应用程序，应用程序在处理的过程中调用数据层的数据服务器，数据服务器将查询的数据返回给应用程序，应用软件处理完成后通过中间件系统返回给客户端。

在大型的系统中，可以对应用系统进行拆分，比如拆分成交易服务，查询服务；或者通过负载均衡技术，来分散客户端发来的请求，使其能承受更大的用户访问量。

__数据层__

数据层运行在数据库主机上，负责整个系统中数据信息的存储。运行数据库服务程序，查询通过JDBC与应用程序进行通信，主要用于存储数据与提供数据查询等服务。

数据库集群技术就是对大型系统应用非常广泛的一种解决方案。

---
前面介绍了一般系统的架构，那么一个大型的系统在设计中使用了哪些手段或技术来提高系统的性能呢？下面通过一张图来了解一下。

![](http://img.testclass.net/complex_architecture.png)

常用的系统架构:

· Linux + Apache + PHP + MySQL

· Linux + Nginx + Redis +  PHP + MySQL

· Linux + Apache + Tomcat + Java+ Oracle

· Windows Server 2003/2008 + IIS + C#/ASP.NET + 数据库

· Window Server 2003/2008 + tomcat + MySql/Oracle/ + Java

· Linux + Python + uwsgi + Nginx + MySQL

.....




原始封面

![课程图片](https://images.unsplash.com/photo-1456409977730-84bb5dbf5503?w=300)


