关于【tpc是什么意思】,tpc是什么,今天向乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
内容导航:1、32单服务器高性能模式:PPC与TPC(上)2、tpc是什么意思:tpc是什么1、32单服务器高性能模式:PPC与TPC(上)
程序员瓶颈突破架构师➕架构设计的理论与实践
每个程序员都有一个成为架构师的梦想,奈何手里无枪无法点燃心中奇梦。本系列文章分享如何让你手里有枪,只要努力,技术的梦想一定能实现,这应该是众多梦想中离地表最近的一个。
服务器并发模型基础知识
高性能是每个程序员的追求,无论我们是做一个系统还是写一行代码,都希望能够达到高性能的效果,而高性能又是最复杂的一环,磁盘、操作系统、CPU、内存、缓存、网络、编程语言、架构等,每个都有可能影响系统达到高性能。
一行不恰当的debug日志,就可能将服务器的性能从TPS 30000降低到8000; 一个tcp_nodelay参数,就可能将响应时间从2毫秒延长到40毫秒。
因此,要做到高性能计算是一件很复杂很有挑战的事情,软件系统开发过程中的不同阶段都关系着高性能最终是否能够实现。
站在架构师的角度,当然需要特别关注高性能架构的设计。高性能架构设计主要集中在两方面:
尽量提升单服务器的性能,将单服务器的性能发挥到极致如果单服务器无法支撑性能,设计服务器集群方案除了以上两点,最终系统能否实现高性能,还和具体的实现及编码相关。但架构设计是高性能的基础,如果架构设计没有做到高性能,则后面的具体实现和编码能提升的空间是有限的。形象地说,架构设计决定了系统性能的上限,实现细节决定了系统性能的下限。
单服务器高性能的关键之一就是服务器采取的并发模型,并发模型有如下两个关键设计点:
服务器如何管理连接服务器如何处理请求以上两个设计点最终都和操作系统的I/O模型及进程模型相关。I/O模型:阻塞、非阻塞、同步、异步。 进程模型:单进程、多进程、多线程。
在下面详细介绍并发模型时会用到上面这些基础的知识点,更多内容你可以参考《UNIX网络编程》三卷本。下面介绍单服务器高性能模式:PPC与TPC。
PPC
PPC是Process Per Connection的缩写,其含义是指每次有新的连接就新建一个进程去专门处理这个连接的请求,这是传统的UNIX网络服务器所采用的模型。基本的流程图是:
父进程接受连接(图中accept)。父进程“fork”子进程(图中fork)。子进程处理连接的读写请求(图中子进程read、业务处理、write)。子进程关闭连接(图中子进程中的close)。注意,图中有一个小细节,父进程“fork”子进程后,直接调用了close,看起来好像是关闭了连接,其实只是将连接的文件描述符引用计数减一,真正的关闭连接是等子进程也调用close后,连接对应的文件描述符引用计数变为0后,操作系统才会真正关闭连接,更多细节请参考《UNIX网络编程:卷一》。
PPC模式实现简单,比较适合服务器的连接数没那么多的情况,例如数据库服务器。对于普通的业务服务器,在互联网兴起之前,由于服务器的访问量和并发量并没有那么大,这种模式其实运作得也挺好,世界上第一个web服务器CERN httpd就采用了这种模式。 互联网兴起后,服务器的并发和访问量从几十剧增到成千上万,这种模式的弊端就凸显出来了,主要体现在这几个方面:
fork代价高:站在操作系统的角度,创建一个进程的代价是很高的,需要分配很多内核资源,需要将内存映像从父进程复制到子进程。即使现在的操作系统在复制内存映像时用到了Copy on Write(写时复制)技术,总体来说创建进程的代价还是很大的。父子进程通信复杂:父进程“fork”子进程时,文件描述符可以通过内存映像复制从父进程传到子进程,但“fork”完成后,父子进程通信就比较麻烦了,需要采用IPC(Interprocess Communication)之类的进程通信方案。 例如,子进程需要在close之前告诉父进程自己处理了多少个请求以支撑父进程进行全局的统计,那么子进程和父进程必须采用IPC方案来传递信息。支持的并发连接数量有限:如果每个连接存活时间比较长,而且新的连接又源源不断的进来,则进程数量会越来越多,操作系统进程调度和切换的频率也越来越高,系统的压力也会越来越大。因此,一般情况下,PPC方案能处理的并发连接数量最大也就几百。prefork
PPC模式中,当连接进来时才fork新进程来处理连接请求,由于fork进程代价高,用户访问时可能感觉比较慢,prefork模式的出现就是为了解决这个问题。prefork就是提前创建进程(pre-fork)。系统在启动的时候就预先创建好进程,然后才开始接受用户的请求,当有新的连接进来的时候,就可以省去fork进程的操作,让用户访问更快、体验更好。prefork的基本示意图是:
prefork的实现关键就是多个子进程都accept同一个socket,当有新的连接进入时,操作系统保证只有一个进程能最后accept成功。但这里也存在一个小小的问题:“惊群”现象,就是指虽然只有一个子进程能accept成功,但所有阻塞在accept上的子进程都会被唤醒,这样就导致了不必要的进程调度和上下文切换了。幸运的是,操作系统可以解决这个问题,例如Linux 2.6版本后内核已经解决了accept惊群问题。 prefork模式和PPC一样,还是存在父子进程通信复杂、支持的并发连接数量有限的问题,因此目前实际应用也不多。Apache服务器提供了MPM prefork模式,推荐在需要可靠性或者与旧软件兼容的站点时采用这种模式,默认情况下最大支持256个并发连接。
2、tpc是什么意思:tpc是什么
简要回答
TPC是“事务处理性能委员会”、“ 传输功率控制”的简称。另外,TPC应用在炼钢行业,是鱼雷罐车的意思,用于装铁水的车子。
我们经常会用一些缩写或者简称来称呼一些名词,这样可以使我们的沟通交流更方便,那么下面小编就来跟大家说说tpc是什么意思。
详细内容
TPC是“事务处理性能委员会”、“ 传输功率控制”的简称。另外,TPC应用在炼钢行业,是鱼雷罐车的意思,用于装铁水的车子。应用在船舶行业则表示每厘米吃水吨,TPC=ρA/100。
Turbo乘积码因其具有接近香农限的译码性能和适合高速译码的并行结构,已成为纠错编码领域的研究热点。Turbo乘积码的分量码一般由扩展汉明码构造而成。当Turbo乘积码采用扩展汉明码作为子码时,随着信噪比的提高,码字的最小码重对误帧率的影响会逐步增大
事务处理性能委员会( Transaction Processing Performance Council ),是由数10家会员公司创建的非盈利组织,总部设在美国。该组织对全世界开放,但迄今为止,绝大多数会员都是美、日、西欧的大公司。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。
TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。任何厂家或其它测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。为保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含五年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计),现在全球只有几个审核员,全部在美国。
TPC已经推出了四套基准程序,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时,不再使用了。TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(Decision Support) 的基准程序。TPC即将推TPC-E,作为大型企业(Enterprise)信息服务的基准程序。
声明:本篇经验系「www.coozhi.com」原创,转载请注明出处。
这就是关于《tpc是什么意思,tpc是什么(32单服务器高性能模式)》的所有内容,希望对您能有所帮助!