ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)

前言

性能是我们日常生活中经常接触到的一个词语,更好的性能意味着能给我们带来更好的用户体检。比如我们在购买手机、显卡、CPU等的时候,可能会更加的关注于这样指标,所以本篇就来做一个性能评测。

性能也一直是我们开发人员一直追求的一个目标,我们在做语言选择,平台选择,架构选择的过程中都需要在性能之间做衡量。

同样性能对 .NET Core 团队来说也是至关重要的,一项新技术的诞生,除了对生产力的提高,还有技术团队对性能的追求。

今天,我们就来做一个对比测试,来看看微软的这样新技术性能到底怎么样,俗话说的好:“是骡子是马,拉出来溜溜”。

下面让我开始吧。

测试目标

在测试之前,我们必须要明确我们本次测试想达到的一个目标。本次测试主要是测试应用程序的一个吞吐量。其中QPS,并发数,响应时间是我们衡量吞吐量的几个重要指标。

以下是本次对比测试的任务目标:

编号对比方系统环境宿主环境测试目标
1ASP.NET Core vs ASP.NET CoreWindowsKestrel vs IIS相同平台不同宿主间性能差距
2ASP.NET Core vs ASP.NETWindowsIIS vs IIS相同平台相同宿主不同框架间性能差距
3ASP.NET Core vs ASP.NETWindowsKestrel vs IIS相同平台不同宿主不同框架间性能差距
4ASP.NET Core vs Python DjangoLinuxKestrel vs uwsgi相同平台不同语言不同宿主不同框架间性能差距
5ASP.NET Core vs Java ServletLinuxKestrel vs Tomcat相同平台不同语言不同宿主不同框架间性能差距
6ASP.NET Core vs NodeJSLinuxKestrel vs self host相同平台不同语言不同宿主不同框架间性能差距

测试工具

工欲善其事,必先利其器。

首先我们需要一个压力测试工具,本次我们使用 wrk,有关于wrk的介绍和使用,请查看我的 这篇博客。

然后我们需要一个性能监控工具,因为wrk已经会给我们输出吞吐量相关指标,所以我们只需要一个监控CPU,内存等的工具即可。本次我们使用 Windows 自带的性能监视器。

Windows 性能监视器的打开方式:开始-->运行-->perfmon
PS: 在下面的监视器图中如果你发现cpu并没有100%,那是因为使用的虚拟机占用了一部分cpu,所以计算方式应该是虚拟机的cpu使用量+物理机cpu使用量。

环境准备

既然做测试,首先肯定是具有相同的运行环境,以下是本次测试使用到的软件和硬件环境。

  • 软硬件环境

名称操作系统职责CPU核心数内存
物理机器1Windows 10 RS1Web Server && 负载生成Intel Core i5-4590416G
虚拟机器2Ubuntu Server 16.04Web ServerIntel Core i5-459021G

其中 虚拟机器2 为 “物理机器1” 使用 win 10 的 Hyper-v 技术搭建的一个虚拟机,所以有几个指标对于本次测试至关重要。

虚拟机设置为了2个虚拟核心,以便于在压力测试的过程中利用到多核特性。其中的虚拟机保留百分比,需要设置为100%,来分配两个物理cpu所有资源给它。占综系统资源百分比设置为50,也就是说虚拟机最多利用本地50%的CPU资源,虚拟机限制设置为100。

  • 源代码

AspNet 在 GitHub 有一个开源的性能测试项目叫benchmarks,之前新闻中23倍的性能也是出自于本测试项目, 为了客观,本次测试并不使用该项目,所有项目均我们自己新建,并且使用当前流行的框架,为了排除代码因素的干扰,我们使用最简单的 Hello World!。

如果你觉得本代码不够客观公正,欢迎在GitHub上Fork本项目,修改后给我提交PR,我会重新进行测试,并且更新本博客。

GitHub: https://github.com/yuleyule66/AspNetCoreBenchmarksCompare

开始测试

wkr命令参数:

wrk -t 2 -c 50 -d 20 --latency http://xxx

因为已经分配了2个核心给虚拟机使用,所以开的是双线程。使用这个参数是我经过多次测试,得到的一个最佳的模拟效果。

1 - ASP.NET Core vs ASP.NET Core(Kestrel vs IIS)

ASP.NET Core

  • 环境:物理机器1

  • OS:Windows 10 RS 1

  • Host:Kestrel

wrk -t 2 -c 50 -d 20 --latency http://localhost:5000Running 20s test @ http://localhost:50002 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     5.49ms   21.72ms 358.18ms   98.99%Req/Sec    23.28k     1.98k   27.48k    92.13%Latency Distribution     50%    0.00us     75%    6.87ms     90%   12.76ms     99%   28.58ms  913567 requests in 20.02s, 115.00MB read
Requests/sec:  45636.43Transfer/sec:      5.74MB

ASP.NET Core

  • 环境:物理机器1

  • OS:Windows 10 RS 1

  • Host:IIS 10.0

wrk -t 2 -c 50 -d 20 --latency http://localhost:5001Running 20s test @ http://localhost:50012 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     5.30ms    5.81ms  22.24ms   76.75%Req/Sec     7.61k   455.21     8.12k    90.00%Latency Distribution     50%    3.14ms     75%    9.02ms     90%   15.62ms     99%   17.17ms  302880 requests in 20.02s, 44.77MB read
Requests/sec:  15130.97Transfer/sec:      2.24MB

总结

QPS(Kestrel):45636.43
QPS(IIS):15130.97

这个结果难免令人诧异,程序部署在IIS上和使用Kestrel竟然差别如此之大,我们知道实际上即便部署在IIS上,实际上内部还是调用的Kestrel,但是测试结果告诉了我们答案。可能是由于IIS进一步的http封装导致的吧,毕竟IIS提供了那么多的其他功能。

以下是Windows的性能监视器,两个的曲线图差不多我就放一个了:

  • 红色:CPU使用率

  • 蓝色:内存使用率

2 - ASP.NET Core vs ASP.NET(IIS vs IIS)

ASP.NET Core

  • 环境:物理机器1

  • OS:Windows 10 RS

  • Host:IIS

wrk -t 2 -c 50 -d 20 --latency http://localhost:5001Running 20s test @ http://localhost:50012 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     5.30ms    5.81ms  22.24ms   76.75%Req/Sec     7.61k   455.21     8.12k    90.00%Latency Distribution     50%    3.14ms     75%    9.02ms     90%   15.62ms     99%   17.17ms  302880 requests in 20.02s, 44.77MB read
Requests/sec:  15130.97Transfer/sec:      2.24MB

ASP.NET

  • 环境:物理机器1

  • OS:Windows 10 RS

  • Host:IIS

  • .NET Framework 4.6 + MVC5

wrk -t 2 -c 50 -d 20 --latency http://localhost:10280Running 20s test @ http://localhost:102802 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.94ms    5.58ms  22.82ms   80.90%Req/Sec     9.10k   444.04     9.42k    95.00%Latency Distribution     50%    3.00ms     75%   10.10ms     90%   13.57ms     99%   16.45ms  362177 requests in 20.00s, 89.80MB read
Requests/sec:  18104.50Transfer/sec:      4.49MB

总结

QPS(ASP.NET Core + IIS):15130.97
QPS(ASP.NET + IIS):18104.50

看到这个结果的时候,其实我还是有一点小惊讶的,不仅仅是因为ASP.NET跑出了1.8K QPS这样的成绩,而是通过Stdev可以看出,ASP.NET 在应对高请求高并发的时候,还是相当的稳定的。这个结果说明了,在同样Windows+IIS环境中,ASP.NET是具有优势和竞争力的,可以预见 ASP.NET 应该还不会淘汰的太快。

Windows性能图我就不上了,基本上和上面一样 CPU 100% 的使用率。

3 - ASP.NET Core vs ASP.NET(Kestrel vs IIS)

ASP.NET Core

  • 环境:物理机器1

  • OS:Windows 10 RS 1

  • Host:Kestrel

wrk -t 2 -c 50 -d 20 --latency http://localhost:5000Running 20s test @ http://localhost:50002 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     5.49ms   21.72ms 358.18ms   98.99%Req/Sec    23.28k     1.98k   27.48k    92.13%Latency Distribution     50%    0.00us     75%    6.87ms     90%   12.76ms     99%   28.58ms  913567 requests in 20.02s, 115.00MB read
Requests/sec:  45636.43Transfer/sec:      5.74MB

ASP.NET

  • 环境:物理机器1

  • OS:Windows 10 RS

  • Host:IIS

  • .NET Framework 4.6 + MVC5

wrk -t 2 -c 50 -d 20 --latency http://localhost:10280Running 20s test @ http://localhost:102802 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.94ms    5.58ms  22.82ms   80.90%Req/Sec     9.10k   444.04     9.42k    95.00%Latency Distribution     50%    3.00ms     75%   10.10ms     90%   13.57ms     99%   16.45ms  362177 requests in 20.00s, 89.80MB read
Requests/sec:  18104.50Transfer/sec:      4.49MB

总结

QPS(ASP.NET Core + Kestrel):45636.43

QPS(ASP.NET + IIS):18104.50

这个结果应该是在预料之中的,大概是3倍的性能差距吧。但是我觉得和之前微软宣传的23倍的性能,是有很大差距的。

4 - ASP.NET Core vs Python Django

注意,以下我们开始使用到虚拟机器2了,我们要在Windows性能监控器里面查看CPU使用率,还需要再添加2个计数器。

物理处理器 \Hyper-V Hypervisor Logical Processor(*) \ %Total Run Time

虚拟处理器 \Hyper-V Hypervisor Virtual Processor(*) \ %Guest Run Time

ASP.NET Core

  • 环境:虚拟机器2

  • OS:Linux

  • Host:Kestrel

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:5000/Running 20s test @ http://192.168.2.48:5000/2 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.39ms    5.33ms  33.05ms   77.20%Req/Sec    13.43k     1.32k   17.95k    74.75%Latency Distribution     50%    2.00ms     75%    8.15ms     90%   13.75ms     99%   15.80ms  534787 requests in 20.01s, 67.32MB read
Requests/sec:  26730.83Transfer/sec:      3.37MB


Python Django

  • 环境:虚拟机器2

  • OS:Linux

  • Host:uwsgi

  • Python 2.7.12 + Django 1.10.2

服务端宿主运行命令:

sudo uwsgi --http :8000 --file HelloWorldWebApp/wsgi.py --processes=2 --threads==2 --daemonize=/var/log/django.log

结果:

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:8000Running 20s test @ http://192.168.2.48:80002 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency    23.40ms   12.23ms  78.13ms   74.81%Req/Sec   792.64    143.13     1.25k    67.10%Latency Distribution     50%   21.16ms     75%   31.25ms     90%   38.26ms     99%   53.75ms  31591 requests in 20.09s, 3.01MB readSocket errors: connect 0, read 31591, write 0, timeout 0Requests/sec:   1572.64Transfer/sec:    153.67KB


总结

QPS(ASP.NET Core + Kestrel):26730.83

QPS(Python Django + Kestrel ):1572.64

不知道是我运行的方式不对还是怎么,这个差距还是蛮大的,大概是17倍的差距。看来Python Web 在做针对于做大请求并发情况下,还是弱了一点。

5 - ASP.NET Core vs Java Servlet

C# 和 JAVA 一直是两大阵营的开发人员喜欢讨论的话题,为了避免有阵营偏见,JAVA的源代码是我委托我们一个JAVA同事编写的,并且委托由他部署的,并且已经交代了他避免使用jsp,由Servlet直接输出。

ASP.NET Core

  • 环境:虚拟机器2

  • OS:Linux

  • Host:Kestrel

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:5000/Running 20s test @ http://192.168.2.48:5000/2 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.39ms    5.33ms  33.05ms   77.20%Req/Sec    13.43k     1.32k   17.95k    74.75%Latency Distribution     50%    2.00ms     75%    8.15ms     90%   13.75ms     99%   15.80ms  534787 requests in 20.01s, 67.32MB read
Requests/sec:  26730.83Transfer/sec:      3.37MB


Java Servlet

  • 环境:虚拟机器2

  • OS:Linux

  • Host:Tomcat 7.0 + jdk 1.7

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:8080/j2eeWebApp/helloRunning 20s test @ http://192.168.2.48:8080/j2eeWebApp/hello2 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.93ms    6.17ms  68.17ms   81.53%Req/Sec     9.22k     1.01k   14.06k    70.50%Latency Distribution     50%    1.75ms     75%    9.91ms     90%   14.39ms     99%   22.10ms  367733 requests in 20.05s, 93.70MB read
Requests/sec:  18338.73Transfer/sec:      4.67MB


总结

QPS(ASP.NET Core + Kestrel):26730.83

QPS(Java Servlet + Tomcat):18338.73

通过这个结果我们可以看出,在性能上 ASP.NET Core 已经超越了Java。不说太多了,怕被喷...

6 - ASP.NET Core vs NodeJS

ASP.NET Core

  • 环境:虚拟机器2

  • OS:Linux

  • Host:Kestrel

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:5000/Running 20s test @ http://192.168.2.48:5000/2 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.39ms    5.33ms  33.05ms   77.20%Req/Sec    13.43k     1.32k   17.95k    74.75%Latency Distribution     50%    2.00ms     75%    8.15ms     90%   13.75ms     99%   15.80ms  534787 requests in 20.01s, 67.32MB read
Requests/sec:  26730.83Transfer/sec:      3.37MB

NodeJS

  • 环境:虚拟机器2

  • OS:Linux

  • Host:self host

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:1337Running 20s test @ http://192.168.2.48:13372 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     4.40ms    5.23ms  31.25ms   79.47%Req/Sec    10.32k     0.88k   11.37k    90.25%Latency Distribution     50%    2.08ms     75%    8.32ms     90%   13.19ms     99%   15.93ms  410902 requests in 20.02s, 61.13MB read
Requests/sec:  20522.89Transfer/sec:      3.05MB


总结

QPS(ASP.NET Core + Kestrel):26730.83

QPS(NodeJS):20522.89

这个结果着实让我吃了一惊,NodeJS性能竟然如此惊人,比JAVA要快10%。作为一个解释性语言这个性能可以说达到了极致,虽然在测试之前知道NodeJS采用的是异步IO,但还是被测试结果震惊了。


不知道是不是因为NodeJS没有经过什么Web框架,直接输出的结果。所以我需要再加测一个ASP.NET Core 通过中间件直接输入结果的性能,这次我要使用微软的测试项目benchmarks。

wrk -t 2 -c 50 -d 20 --latency http://192.168.2.48:5000/plaintextRunning 20s test @ http://192.168.2.48:5000/plaintext2 threads and 50 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency     3.69ms    5.03ms  18.30ms   80.38%Req/Sec    25.06k     4.14k   29.19k    83.33%Latency Distribution     50%  806.00us     75%    6.82ms     90%   12.62ms     99%   15.63ms  1002476 requests in 20.10s, 126.20MB read
Requests/sec:  49874.57Transfer/sec:      6.28MB

My God !!!

总结

以下是测试结果的汇总统计:

编号对比方系统环境宿主环境测试结果(QPS)
1ASP.NET Core vs ASP.NET CoreWindowsKestrel vs IIS45.6k vs 15.2k
2ASP.NET Core vs ASP.NETWindowsIIS vs IIS15.2k vs 18.2k
3ASP.NET Core vs ASP.NETWindowsKestrel vs IIS45.6k vs 18.2k
4ASP.NET Core vs Python DjangoLinuxKestrel vs uwsgi26.7k vs 1.57k
5ASP.NET Core vs Java ServletLinuxKestrel vs Tomcat26.7k vs 18.3k
6ASP.NET Core vs NodeJSLinuxKestrel vs self host26.7k vs 20.5k

作为微软的下一代 ASP.NET 框架,ASP.NET Core没有让我们失望,通过本次测试,我们大概对ASP.NET Core的性能心里有底了。一个圈子的良好发展需要社区的共同参与,也希望大家共同为.NET Core社区贡献自己的力量,同时也希望看到本篇文章的CTOs们以后在平台和框架选择的过程中考虑一下ASP.NET Core,因为她真的很优秀。

原文链接:http://www.cnblogs.com/savorboard/p/dotnet-benchmarks.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机三级网络技术题库第15套,第15套 上机操作题

一、基本操作题*********本题型共有5小题*********1. 将考生文件夹下的RDEV文件夹中的文件KING.MAP删除。2. 在考生文件夹下BEF文件夹中建立一个名为SEOG的新文件夹。3. 将考生文件夹下RM文件夹中的文件PALY.PRG复制到考生文件夹下BMP文件夹中。4. 将考生文件夹下TEED文件夹中的…

Jsoup代码解读之一-概述

转载自 Jsoup代码解读之一-概述今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学学好东西吧! Jsoup…

法在计算机课程中的应用,尝试教学法在中职《计算机应用基础》课程中的应用(原稿)...

《尝试教学法在中职《计算机应用基础》课程中的应用(原稿).doc》由会员分享,可免费在线阅读全文,更多与《尝试教学法在中职《计算机应用基础》课程中的应用(原稿)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、尝试练习,安排学生进行…

Visual Studio“15”进一步改善性能和易用性

随着Visual Studio“15”开发工作的继续,微软也在不断介绍着为了改善该产品执行速度和安装后体积所做的诸多努力。第5个技术预览版近日已发布,在这些方面也有了进一步提高。 在微软公司John Montgomery发布的新闻稿中,他通过一个视频对比了Ro…

JAVA缓存的实现

转载自 JAVA缓存的实现 缓存可分为二大类: 一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式; 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删…

myeclipse 2016 ci3破解教程(含软件下载)

一、myeclipse简介: MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩 展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效 率。…

系统架构师考试6

系统架构设计师考试经验 2018年01月29日 15:23:46 大宝大宝吃饱睡好 阅读数 346 原文链接 1. 考试准备流程 考试报名地址 网站比较奇葩,需要IE或者360,chrome不行 1.1 报名 网站注册【大概9月份】填写报名信息上传照片【需要注意照片大小,…

计算机主机组成实验,计算机组成原理实验-运算器组成实验报告

计算机组成原理实验-运算器组成实验报告 曾国江—计算机组成原理实验报告 - 0 - 计算机组成原理课程实验报告9.3 运算器组成实验姓 名: 曾国江 学 号: 系 别: 计算机工程学院 班 级: 网络工程1班 指导老师: 完成时间&a…

Jsoup解析HTML实例及文档方法详解

转载自 Jsoup解析HTML实例及文档方法详解这篇文章主要介绍了Jsoup如何解析一个HTML文档、从文件加载文档、从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供了一个示例供大家参考 使用DOM方法来遍历一个文档 从元素抽取属性,文…

系统架构师考试9

系统架构师复习经验及资料共享 [复制链接] 发表于 2018-2-5 11:25 | 来自 51CTO网页 [只看他] 楼主 在入职第一天。。 人力:有没有证书 我:。。没有,目前都有哪些证书 人力回了一张图,上面大概有PMP、项目管理师、系统架构师…

java通过commons-fileupload实现多张图片的上传(servlet)

//添加食品信息private void addProduct(HttpServletRequest request, HttpServletResponse response) throws IOException{PrintWriter out response.getWriter();/*Date datenew Date();SimpleDateFormat formatnew SimpleDateFormat("yyyy-MM-dd hh:mm:ss");Stri…

javaweb项目搭建ehcache缓存系统

转载自 javaweb项目搭建ehcache缓存系统EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider,同时在项目开发中也被广泛使用到。接下来就以用户缓存为例,基于javaweb项目来搭建ehcache…

微服务架构之外的选择——基于服务架构

来自ThoughtWorks的主管Neal Ford在最近的一次演讲中表达了他对企业软件系统架构转型的看法,他认为从单体架构转向基于服务的架构要比转向微服务架构来得容易。Ford在UberConf 2016大会上做了一次关于基于服务架构的演讲,基于服务架构是介于面向服务架构…

html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...

var myImage canvas.toDataURL("image/png");我认为myImage在现在png格式如何保存编码的图像字节myImage作为一个文件(图片文件夹)?Answer 1:而不是使用的.toDataUrl ,你需要使用.msToBlob :var blob canvas.msToBlob();然后&…

系统架构师8

软考——系统架构设计师工作日志 《E:\Myproject\利亚德\x系统架构设计师\系统架构设计师工作日志.txt》 系统架构设计师 ok --》主要信息 官方: 人事考试服务频道.mht http://www.bjld.gov.cn/bjpta/ 北京人事考试 http://www.bjld.g…

Autofac 之 基于 Castle DynamicProxy2 的 Interceptor 功能

Autofac 结合 Castle DynamicProxy2 功能 Autofac 不仅作为轻量级高效的 IoC 容器,而且还能很好的与 Castle.DynamicProxy2 结合起来,实现 AOP 功能。 首先,我们需要定义拦截器,简单的定义可实现 Castle.DynamicProxy.IIntercepto…

类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?

转载自 类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?在回答这个问题之前先了解一下Java的一些基础知识。我们知道Java程序运行在虚拟机环境里,那我们先看一下虚拟机的大致内存结构。如下图所示,虚线框…

java通过commons-fileupload实现多张图片的上传(jsp页面)

<div id"middle"><div id"form"><form action"ProductInfoServlet?tagadd" method"post" enctype"multipart/form-data" ><h2>三只松鼠--新增</h2><table align"center">&l…

系统架构师7

2017年11月11日 软件系统架构师考试经验分享 置顶 2017年11月13日 15:25:53 凌飞安 阅读数 7812 版权声明&#xff1a;原创作品&#xff0c;转载请注明出处&#xff01;个人主页 http://www.lingfeian.com https://blog.csdn.net/lingfeian/article/details/78520808 系统架构…

工业利用计算机实现生产自动化属于,自动化考试试题(含答案)

第一类&#xff1a;填空题一&#xff0e;填空题1&#xff0e;自动化控制系统按被控量的时间特性分为(连续量)和(离散量)。2&#xff0e;PLC 全称为(可编程序逻辑控制器)&#xff0c;DCS全称为( 集散控制系统)。3&#xff0e;输入输出单元是(PLC)与工业过程控制现场之间的连接部…