bitpie钱包下载链接|rps

作者: bitpie钱包下载链接
2024-03-07 20:54:31

车身设计之RPS系统简介 - 知乎

车身设计之RPS系统简介 - 知乎切换模式写文章登录/注册车身设计之RPS系统简介IND4汽车人专注汽车人职业(知识)管理的APP (账号同名)我们知道,尺寸超差会给汽车制造企业带来重大损失,不仅严重影响零件的功能,而且也会导致零件报废,使汽车成本增加,尺寸偏差大,给整车匹配带来的麻烦更大。为了保证尺寸精度,以及降低成本,减少偏差,各大汽车公司均采用RPS系统,相信对车身开发工程师来讲,该系统并不陌生,其在前期车身开发设计,后期装配,以及质保尺寸检测方面都起到了非常重要的参考作用。该系统适用于汽车零件,装配总成等产品形成过程中所有阶段中的尺寸标注,制造,储运和检验,既便于制造系统和检测系统的统一定位,又可以保证配合尺寸关系。这里,我们就从以下几个方面来简单介绍下RPS系统,以便大家更好的认识和理解。RPS基本理论以及概念RPS是Reference Point System英文缩写,中文意思是定位参考点系统。其源自德语单词REFERENZ-PUCKT-SYSTEM(定位点系统)的缩写,每个定位参考点叫做RPS点。主要是规定一些从开发到制造,检测直至批量装车各环节所涉及到的人员共同遵循的定位点及其公差要求。RPS系统的研究对象RPS系统的制定要进行六个方面的研究:1.产品的功能研究。首先要对产品零件的自身及其周围零件的关系加以研究,确定零件的功能,按照功能的重要程度将功能排序。2.产品的公差研究。在保证产品的功能要求下,确定产品的公差要求,即确定尺寸公差和形位公差的特征项目以及公差等级。公差要求要兼顾制造、安装和检测要求的统一性。3.RPS系统的制定。RPS系统的制定必须符合零件功能重要性的排序结果和公差要求,确定每个RPS点。4.定位基准尺寸的确定。将确定的RPS点需要填入RPS尺寸图表中。他是产品图纸完成之前具有约束力的指导性文件。5.产品的公差计算。在进行产品的公差计算时,应当充分利用RPS系统,来保证设计目标的实现。6.画出产品图纸。将以上五个阶段的研究结果,按照机械制图标准、公差标准的标注方法,画出正式的产品图纸。RPS系统的3-2-1规则刚体在空间运动中有6个自由度,即沿三个坐标轴的移动和绕着三个坐标轴的转动。在加工时,要使刚体的位置确定,必须要限制这6个自由度。整车在汽车坐标系及其6个自由度VW01052规定的汽车坐标系通过汽车坐标系的网格线可以找到汽车上所有的点,也就是说,可以确定汽车上每个构件的位置。使一个刚体的空间位置确定性需要6个定位点。其中3个定位点确定一个接触面积最大的基准平面,即限定了1个坐标轴方向的位移,2个绕坐标轴的转动;再用构成最长直线段的2个定位点确定第二个基准平面,即限定了第2个坐标轴方向的位移和绕另1个坐标轴的转动;再用1个定位点确定第三个坐标方向,由此零件在空间的位置即确定下来,这就是3—2—1规则。3-2-1 规则3-2-1 规则的应用——对于没有孔的零件,需要用6个RPS点固定位置:A1、A2、A3点确定了xoy平面,限定了零件在z方向的移动和绕x、y轴的转动;B1、B2点确定了x轴方向,即限定了零件沿y轴方向的移动和绕z轴的转动;C点限定了零件沿x轴方向的移动。6个RPS点将零件加工时的位置固定在夹具上。——有安装孔的零件,只需要4个RPS点即可定位:A1、A2与H孔的F平面限定了零件的z平面; H孔限定了x,y方向的平移,F平面作为z方向的一个点和H孔定义为一个RPS点;B点限定了绕z轴的转动。RPS系统其他规则坐标平行规则在测量和加工时,零件的放置位置必须保持平行才能够获得精确的结果。倾斜放置零件会造成测量结果不正确,导致产品的误收或误费,或者工装夹具等产生不正确地调整。为此,定位点应当尽可能地平行于坐标轴。统一性规则· RPS系统的宗旨是通过避免基准的转变来保证制造工艺过程的可靠性。利用RPS点的可重复利用性,以提高产品的精度和质量。· RPS系统的统一性规则要求从产品开发阶段,直到产品生产出来,RPS点的使用应当贯彻始终。需要指出的是RPS点不是全部一直在用,像有些保证加工刚度的辅助RPS点,在装配时就不会用。· RPS系统的统一性规则还要求所有工艺流程中的输送装置原则上都要使用RPS点作为固定支点。你以为这样就结束了吗?当然还没有,点击此处阅读原文连载系列好文,下载IND4汽车人APP,追好文~发布于 2018-01-09 10:57汽车设计汽车造型设计汽车设计师​赞同 12​​2 条评论​分享​喜欢​收藏​申请

秒懂QPS、TPS、PV、UV、GMV、IP、RPS-腾讯云开发者社区-腾讯云

S、TPS、PV、UV、GMV、IP、RPS-腾讯云开发者社区-腾讯云IT小马哥秒懂QPS、TPS、PV、UV、GMV、IP、RPS关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网IT小马哥首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >秒懂QPS、TPS、PV、UV、GMV、IP、RPS秒懂QPS、TPS、PV、UV、GMV、IP、RPSIT小马哥关注发布于 2021-03-30 09:50:445.6K0发布于 2021-03-30 09:50:44举报文章被收录于专栏:Java TaleJava Tale QPS、TPS、PV、UV、GMV、IP、RPS等各种名词,外行看起来很牛X,实际上每个程序员都是必懂知识点。下面我来一一解释一下。

QPSQueries Per Second,每秒查询数。每秒能够响应的查询次数。QPS 是一台服务器每秒能够相应的查询次数,即1秒内完成的请求数量,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是最大吞吐能力。TPSTransactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。例如,访问一个 Index 页面会请求服务器 3 次,包括一次 html,一次 css,一次 js,那么访问这一个页面就会产生一个“T”,产生三个“Q”。QPS 与 TPS 区别QPS基本类似于TPS,但是不同的是,对于一个Web页面的一次访问,形成一个TPS(就做一件事儿,打开Web网页);但一次Web页面请求,可能产生多次对服务器的请求(html、css、js、images、files等),服务器对这些请求,就可计入QPS之中。每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。如果是对一个接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么TPS等于QPS,否则,若这个接口内部还会再去请求其它接口(下载图片、文件等服务器接口),那么 TPS不等于QPS,通常是 QPS会大于TPSPVpage view即页面浏览量通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。用户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。根据这个特性,刷网站的 PV 就很好刷了。与 PV 相关的还有 RV,即重复访问者数量(repeat visitors)。UVUnique Visitor 指独立访客访问数,统计1天内访问某站点的用户数(以 cookie 为依据),一台电脑终端为一个访客。IPInternet Protocol独立 IP 数是指 1 天内多少个独立的 IP 浏览了页面,即统计不同的 IP 浏览用户数量。同一 IP 不管访问了几个页面,独立 IP 数均为 1;不同的 IP 浏览页面,计数会加 1。IP 是基于用户广域网 IP 地址来区分不同的访问者的,所以,多个用户(多个局域网 IP)在同一个路由器(同一个广域网 IP)内上网,可能被记录为一个独立 IP 访问者。如果用户不断更换 IP,则有可能被多次统计。RTResponse Time 响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。对于单机的没有并发操作的应用系统而言,人们普遍认为响应时间是一个合理且准确的性能指标。需要指出的是,响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。对于一个游戏软件来说,响应时间小于100毫秒应该是不错的,响应时间在1秒左右可能属于勉强可以接受,如果响应时间达到3秒就完全难以接受了。而对于编译系统来说,完整编译一个较大规模软件的源代码可能需要几十分钟甚至更长时间,但这些响应时间对于用户来说都是可以接受的。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间GMVGross Merchandise Volume 的简称。只要是订单,不管消费者是否付款、卖家是否发货、是否退货,都可放进 GMV 。RPSRPS 代表吞吐率,即 Requests Per Second 的缩写。吞吐率是服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。有人把 RPS 说等效于 QPS。其实可以看作同一个统计方式,只是叫法不同而已。RPS/QPS,可以使用 apche ab 工具进行测量。QPS、PV 、RT 之间的关系在进行系统性能压测和系统性能优化的时候,会涉及到QPS,PV,RT相关的概念, QPS,PV,RT之间的关系 对于大部分web系统,响应时间一般由CPU执行时间,线程等待时间(IO等待,sleep, wait)时间组成,QPS和RT成反比关系

在实际的测试环境中,QPS和RT并不是非常直接的反比关系

QPS 是什么QPS:单个进程每秒请求服务器的成功次数 QPS = req/sec = 请求数/秒QPS如何统计QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求时间 )根据QPS推算PV:单台服务器每天PV计算:公式1:每天总PV = QPS * 3600 * 6 公式2:每天总PV = QPS * 3600 * 8根据QPS,PV推算服务器数量服务器数量 = 每天总PV / 单台服务器每天总PV峰值QPS和机器计算公式:原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间峰值时间每秒请求数(QPS):( 总PV数 * 80% ) / ( 每天秒数 * 20% )峰值机器数量:峰值时间QPS / 单台机器的QPS例子:问:每天300w PV 的在单台机器上,这台机器需要多少QPS?答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)问:如果一台机器的QPS是58,需要几台机器来支持?答:139 / 58 = 3 对于大部分web系统,响应时间一般由CPU执行时间,线程等待时间(IO等待,sleep, wait)时间组成,QPS和RT成反比关系

在实际的测试环境中,QPS和RT并不是非常直接的反比关系

最佳线程数性能压测的情况下,起初随着用户数的增加,QPS会上升,当到了一定的阀值之后,用户数量增加QPS并不会增加,或者增加不明显,同时请求的响应时间却大幅增加,这个阀值我们认为是最佳线程数。刚好消耗完服务器的瓶颈资源的临界线程数,公式如下最佳线程数量 =((线程等待时间 + 线程CPU执行时间)/ 线程CPU执行时间)* CPU数量特性: 在达到最佳线程数的时候,线程数量继续递增,则QPS不变,而响应时间变长,持续递增线程数量,则QPS开始下降

每个系统都有其最佳线程数量,但是不同状态下,最佳线程数量是会变化的

瓶颈资源可以是CPU,可以是内存,可以是锁资源,IO资源

超过最佳线程数,会导致资源的竞争;超过最佳线程数,会响应时间递增。为什么要找最佳线程数 过多的线程只会造成,更多的内存开销,更多的CPU开销,但是对提升QPS确毫无帮助

找到最佳线程数后通过简单的设置,可以让web系统更加稳定,得到最高,最稳定的QPS输出

最佳线程数的获取: 通过用户慢慢递增来进行性能压测,观察QPS,响应时间

根据公式计算:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量

单用户压测,查看CPU的消耗,然后直接乘以百分比,再进行压测,一般这个值的附近应该就是最佳线程数量。

影响最佳线程数的主要因素IOIO开销较多的应用其CPU线程等待时间会比较长,所以线程数量可以开的多一些,相反则线程数量要少一些,其实有两种极端,纯IO的应用,比如proxy,则线程数量可以开到非常大(实在太大了则需要考虑线程切换的开销),这种应用基本上后端(比如这个proxy是代理搜索的)的QPS能有多少,proxy就有多少。CPU对于耗CPU的计算,这种情况一般来讲只能开到CPU个数的线程数量。但是并不是说这种应用的QPS就不高,往往这种应用的QPS可以很高,因为耗CPU计算的应用,往往处理单次请求的时间会很短。QPS和线程数的关系在最佳线程数量之前,QPS和线程是互相递增的关系,线程数量到了最佳线程之后,QPS持平,不在上升,甚至略有下降,同时响应时间持续上升。同一个系统而言,最佳线程数越多,QPS越高并发数**(**Parallels)并发数是指系统同时能处理的请求数量,一般跟CPU个数,线程数有关,这反应了系统的负载能力并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。一网站系统为例,假设用户只有注册后才能使用,但注册用户并不是每时每刻都在使用该网站,因此具体一个时刻只有部分注册用户同时在线,在线用户就在浏览网站时会花很多时间阅读网站上的信息,因而具体一个时刻只有部分在线用户同时向系统发出请求。这样,对于网站系统我们会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。由于注册用户可能长时间不登陆网站,使用注册用户数作为性能指标会造成很大的误差。而在线用户数和同事发请求用户数都可以作为性能指标。相比而言,以在线用户作为性能指标更直观些,而以同时发请求用户数作为性能指标更准确些。吞吐量**(**Throughput)吞吐量是指单位时间内系统能处理的请求数量,体现系统处理请求的能力,这是目前最常用的性能测试指标吞吐量是指系统在单位时间内处理请求的数量。对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。前面已经说过,对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能,但对于并发系统,通常需要用吞吐量作为性能指标。对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n×t,而往往比n×t小很多(当然,在某些特殊情况下也可能比n×t大,甚至大很多)。这是因为处理每个请求需要用到很多资源,由于每个请求的处理过程中有许多不走难以并发执行,这导致在具体的一个时间点,所占资源往往并不多。也就是说在处理单个请求时,在每个时间点都可能有许多资源被闲置,当处理多个请求时,如果资源配置合理,每个用户看到的平均响应时间并不随用户数的增加而线性增加。实际上,不同系统的平均响应时间随用户数增加而增长的速度也不大相同,这也是采用吞吐量来度量并发系统的性能的主要原因。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。并发量、QPS、RT 之间的关系:QPS = 并发量 / 平均响应时间 (推荐)并发量 = QPS * 平均响应时间假设每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器每天300w PV 的在单台机器上,这台机器需要多少QPS?( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)如果一台机器的QPS是58,需要几台机器来支持?139 / 58 = 3 (进一法,取上限)单线程QPS公式,QPS=1000ms/RT,对同一个系统而言,支持的线程数越多,QPS越高。假设一个RT是80ms,则可以很容易的计算出QPS,QPS = 1000/80 = 12.5多线程场景,如果把服务端的线程数提升到2,那么整个系统的QPS则为 2*(1000/80) = 25,可见QPS随着线程的增加而线性增长,那QPS上不去就加线程呗,听起来很有道理,公司也说的通,但是往往现实并非如此。如何提升RT(响应时间)减少 IO 的响应时间,减少 IO 的调用次数并发HTTP请求,无上下文依赖,多个连接,一个线程HTTP连接池(长连接,keep-alive)减少 CPU 的使用时间forest 循环的例子如何提升 QPS(每秒查询数) 减少 CPU 的使用时间

增加 CPU 的数量

减少同步锁

如果 CPU 不能被压到 85% 以上,并且此时的OPS已经达到了峰值,则说明另有瓶颈,接下去要重点关注内存排查内存是否有瓶颈判断依据,是在最佳线程数量 * 5 左右的情况下,进行压测,观察 Old 区内存增长是否正常性能压测要关注使用了多少用户数,目前的压测方式容易遗漏内存瓶颈总结Proxy 应用(耗IO)的线程越多越好,当线程达到过多时,线程本身资源的开销也会成为瓶颈,线程本身也是一个资源。所以这类Proxy应用一般采取轻程模型,NIO解决,如 nginx计算型应用(耗CPU),线程数量就是CPU的核数,如搜索索引服务器,需要做大量的计算排序,非常耗CPU资源 本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。 原始发表:2021-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除前往查看tcp/ip本文分享自 作者个人站点/博客 前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!tcp/ip评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录QPSTPSQPS 与 TPS 区别PVUVIPRTGMVRPSQPS、PV 、RT 之间的关系最佳线程数为什么要找最佳线程数最佳线程数的获取:影响最佳线程数的主要因素QPS和线程数的关系并发数**(**Parallels)吞吐量**(**Throughput)并发量、QPS、RT 之间的关系:如何提升RT(响应时间)如何提升 QPS(每秒查询数)总结领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 |  京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00

RPS股价相对强度指标用法与编制(上篇) - 知乎

RPS股价相对强度指标用法与编制(上篇) - 知乎切换模式写文章登录/注册RPS股价相对强度指标用法与编制(上篇)夏日的薄荷缤纷狂想曲:没有专业知识,问就是不知道,再问就是瞎编的本篇主要讲解如何编制RPS板块指标,该指标可以应用于所有板块,但对个股无效。一、何谓RPS指标RPS/RS指标,又称为股价相对强度指标,指在一段时间内,个股涨幅在全部股票涨幅排名中的位次值,由美国的美国著名的成长性企业的投资大师,威廉·欧奈尔提出并首先运用于美国早期股票市场的分析,因此也可以称之为欧奈尔曲线。欧奈尔曲线的标准定义为一年的时间,也就是250个交易日的RPS。我们也可以在公式编制时自行设置为10、20、60、120个交易日,对应的是2周、4周、季度和半年线。欧奈尔曲线的意义就在于,通过测算得出在某一段时间节点内,市场内的某支股票较其他股票的涨幅如何。比如,如果某个市场共有100只股票,若某个股票的月涨幅在100只股票中排名第10位,那么该股的RPS值就是:(1-10/100)*100=90。RPS的值介于0至100区间。数值越高代表着该股在某一节点越受市场亲睐,投资者亦可以根据该指数判断该支股票是否值得买入。RPS指标不仅可以反映个股的相对强弱,也可以反映的是板块指数的强弱。指标的数值越高,板块走势强度越高。在板块RPS指标的使用中,通过图形和数列的比较,看到某一节点不同行业板块的强弱差异,可以清晰地判断出目前市场上热门的板块。二、更新“盘后数据下载”以通达信为例,首先,我也只会编制通达信的,第二,教程参考里也只有通达信的。在设置里找到“盘后数据下载”,下载往年数据,最好从1990年1月1日开始下载,只用下载一次就行,往后只需要每天更新当天数据就行,如下图。三、板块指标编制以下示例仅作参考,实际运用中,编制者可以根据自己的喜好进行命名。写在前面,RPS指标需要每日进行人工手动刷新,首先刷新软件自带的“盘后数据下载”,其次刷新“扩展数据管理器”内我们自行编制的指数数据。“扩展数据管理器”在通达信软件内输入.902调出。步骤一:建立自定义板块方法一:通达信软件的菜单→工具→板块设置→新建板块。然后把所有的板块移入这个自定义板块内。但是这个方法很多人会发生找不到菜单在哪?工具又在哪?为了避免这一类的囧事,所以我们使用方法二进行讲解。方法二:①新建自定义板块先认真看步骤,找不到步骤再去对照图片:找到板块指数 → 全部板块 → 右键单击黄框内任意位置 → 找到“批量操作” → 点击“是” → 点击“全选中” → 点击“加入到板块” → 点击“新建板块” → 用汉字命名板块→ 点击新建的板块 → 点击“确定”。这样A股所有板块都会加入到这个新建的板块中了,这一步很重要,因为后边RPS指标需要用到这个自定义板块。如果你需要细类的板块,请参照下图设置,然后按照上文的方法再设置一遍就可以了。步骤二:指标编制1、编制第一个指标A、命名:公式名称可以命名为EXTRS,但不一定使用这个名字,看个人喜好,你想把他命名成什么都可以,但一定要是字母组合。指标代码:(建议直接复制下面的代码,不要自己输入,免得出错){N-有效数据的天数,默认值250;}EXTRS:(C-REF(C,N))/REF(C,N);B、步骤:①找到“公式系统”并点击,或快捷方式:Ctrl + f ②点击其他类型→点击新建→开始设置③复制粘贴前面的代码(粗体黑子)到下图,参考下图进行设置。参数​:N 2 500 2502、编制第二个指标(RPS曲线公式)A、命名公式名称可以命名为RPSBK,但不一定使用这个名字,看个人喜好,你想把他命名成什么都可以,但一定要是字母组合。指标代码:(建议直接复制下面的代码,不要自己输入,免得出错)B1:=EXTDATA_USER(1,0);{10天的}RPS10:B1/10,LINETHICK1,COLORGREEN;IF(RPS10>=M,RPS10,DRAWNULL),LINETHICK2,COLORRED;B2:=EXTDATA_USER(2,0);{20天的}RPS20:B2/10,LINETHICK1,COLORYELLOW;IF(RPS20>=M,RPS20,DRAWNULL),LINETHICK2,COLORRED;B3:=EXTDATA_USER(3,0);{60天的}RPS60:B3/10,LINETHICK1,COLORWHITE;IF(RPS60>=M,RPS60,DRAWNULL),LINETHICK2,COLORRED;B4:=EXTDATA_USER(4,0);{120天的}RPS120:B4/10,LINETHICK1,COLORBLUE;IF(RPS120>=M,RPS120,DRAWNULL),LINETHICK2,COLORRED;B5:=EXTDATA_USER(5,0);{250天的}RPS250:B5/10,LINETHICK1,COLORLICYAN;IF(RPS250>=M,RPS250,DRAWNULL),LINETHICK2,COLORRED;题外话:代码里的数字,不要随意更改,比如 “ B1:=EXTDATA_USER(1,0);{10天的} ”,这个USER(1,0),不能随便更改括号里的数字,如果你把1改成了2,到编制“扩展数据管理器”指标时就会出错,指标会把数据读取成B2,所以括号里的数据一定要相互对应,B1对应USER(1,0),B2对应USER(2,0),以此类推。B、步骤①找到“公式系统”并点击,或快捷方式:Ctrl + f ②点击其他类型→点击新建→开始设置③复制粘贴前面的代码(粗体字),并在参数处输入下图数据。参数:M 1 100 90④关于代码内的B1、B2、B3、B4、B5,不要随意更改他们的顺序,否则会导致下文的参数设定好之后不能读取他们,最后导致无法输出。3、编制.902扩展数据管理器上述指标编制完成后,我们还需要在软件内输入 .902 调出扩展数据管理器,并在管理器中写入相关数据。步骤一:输入.902,调出扩展数据管理器,然后从序号1开始编制。①点击序号1 → ②点击“修改” → ③命名 → ④选择计算公式指标“EXTRS”→ ⑤设置计算参数 → ⑥选择自定义板块 → ⑦点击生成横向排名数据 → ⑧点击0-1000归一化顺序 → ⑨点击本地所有数据(3000个)→ ⑩点击“确定”注意:因为B1至B5一共有5个数据,所以必须要设置5个参数,在进行设置时,要注意更改参数名称和计算参数,参数的大小和顺序按照下图图一进行设置,从10开始设置,20、60、120、250,重复红字步骤,把5个参数都设置好,参考下图图二。图一图二步骤二:设置完上边的数据后,我们还要点击“全部刷新”刷新指标数据,在这一步之前,请先进行“盘后数据下载”,具体操作方法参考前文。最后,推荐一本该指标建立者威廉·欧奈尔写的书,《笑傲股市》。本文参考来源:板块指数RPS编制教程 板块指数RPS编制教程(20200622)原创 陶博士 陶博士2006 1周前来自专辑选对股买对时机选对股买对时机(六)... - 雪球 (xueqiu.com)编辑于 2023-03-15 01:01・IP 属地广西股票股票技术指标RPS​赞同 16​​1 条评论​分享​喜欢​收藏​申请

涨知识丨同人文是什么?AO3、RPF/RPS又是什么意思_文化课_澎湃新闻-The Paper

同人文是什么?AO3、RPF/RPS又是什么意思_文化课_澎湃新闻-The Paper下载客户端登录无障碍+1涨知识丨同人文是什么?AO3、RPF/RPS又是什么意思郑熙青/《破壁书》2020-03-04 15:19来源:澎湃新闻 ∙ 文化课 >字号编者按:因为肖战的粉丝发现在AO3网上有一篇关于肖战的同人文,粉丝们认为此文章影响了肖战的形象,表示准备全力投诉此文章,让该文章下架,后来通过粉丝的大量投诉和举报,最终导致该网站无法访问。这也使得几个圈子的路人开始围攻肖战所涉及的影视作品,代言等等。这场“突破次元壁的战争”,虽然让某媒体发了条“老了,没看懂为什么战”的微博,但也让许多“路人”开始学习起来。2018年出版的《破壁书:网络文化关键词》就成为求学者孜孜以求的初级科普文。同人当代中文网络社群中“同人”一词意为建立在已经成型的文本(一般是流行文化文本)基础上,借用原文本已有的人物形象、人物关系、基本故事情节和世界观设定所作的二次创作。同人作品采取的形式有小说、绘画、视频剪辑、歌曲、游戏等,不一而足,而同人作品对原文本的忠实程度并没有定例,随各衍生文本而定。“同人”一词来自日语,写作同样的汉字,读作dōjin,原意为志趣相投的人。在日本,自明治维新始,就有志趣相投的人聚在一起以不正规的形式出版刊物的传统。这种非正式出版物被称作“同人志”。早先以文学爱好者的文学出版物为主,二战后逐渐开始有漫画同人志。和现在常用意义不同,这里的同人并不特指二次创作的作品,原创的作品以非正式形式出版也叫做同人。如日本的同人界三大奇迹:东方project、月姬、寒蝉,就是三款在同人展贩售的非正式发行的游戏作品。日本的ACGN亚文化中的同人志文化一般可以追溯到20世纪60年代末70年代初,标志性时间点是1975年第一届Comic Market(コミックマーケット)同人展的举办,这是日本迄今历史最长规模最大的同人展。很多著名的女性漫画家,如《绝爱1989》的作者尾崎南,和女性漫画家团体Clamp,都是从出版漫画同人志起步进入职业创作领域的。不过如今不仅在中文里,日文中同人志的意思也愈发偏向二次创作的意义了。同人一词在20世纪初便被引进中国,早期五四文坛也有将志趣相投的人合出的刊物称作同人刊物的。在20世纪末受日本影响的中国网络同人文化重新引入了同人一词,其意义大致等同于二次创作。仍有业余写作者或者画手将自己原创的作品以不正式出版物印刷,同样称为同人志,但相对少见。在不会产生歧义的情况下,同人后缀的创作形式可以省略,如“这个画手是画同人的”;否则,不带后缀创作形式的同人二字一般特指同人小说。比如说“官方才是真大手,官方卖腐逼死同人啊”。下面以同人小说为例,简要介绍一下同人的创作方式。同人创作可以从以下几个向度展开:可以拓宽原作品中的时间线,描述原作的人物在原作情节之前或之后的经历;可以摘取原作品中一个没有详述的细节,进行详细的断片式写作,补完人物的心理活动和动机;还能关注原作中没有受到重视的配角,想象他/她的经历和心路历程;甚至还可以颠倒或扭曲原作品中的道德和价值观系统,以原本的反派为视角人物重写原作;同人小说同样可以将喜爱的人物从原作的背景中抽离出来,放置于全新的环境和世界观中,开始全新的故事(这种写作方式一般称为“架空”,英文Alternate Universe,简写为AU),例如将《水浒传》中的几个主要人物设定为当代黑社会里的人并由此展开故事;相对于这种意义的架空,还有另一种,将原作中的情节修改掉一部分(尤其常见的是将原文悲剧的死亡结局强行修改成皆大欢喜的),以满足粉丝们的愿望;同人小说中还包含混合同人等创作方式,将来自两个不同原作的人物放在同一个宇宙观中写故事,例如英国的很多间谍片和侦探片(如007、《神探夏洛克》等等)的主角常出现在同一个同人故事中;当然,同人写作中还会出现将作者本人或其熟悉环境代入的情况,过度自我代入的同人被称为“玛丽苏”。虽然异性配对或者无配对的同人小说(一般对应于“耽美”和“百合”而称作“良识”,“良识”早先指无配对和异性恋配对的同人,现更偏向指无配对的同人)也很多,但是在当下中国的同人创作中,同性,尤其是男性同性配对的同人小说占大部分。这类写作会将原作中一般默认为异性恋的角色配对成同性恋人,在中文中,写男性同性配对的称作“耽美同人”,专门写他们的关系发展和发生的故事,而女性同性配对的则称为“百合同人” (在以后的章节中我们会详细解释相关词汇的源流和含义)。现今中国网络同人文化是直接在日本同人文化的影响下产生的。英语文化圈的作品,如好莱坞电影、英国电视剧、美国电视剧和一些流行小说的影响同样存在,但一直呈支流状态。曾有“世纪初三大同人圈”的说法,指的就是三部日本ACGN作品的同人圈:《灌篮高手》、《圣斗士星矢》和《银河英雄传说》。和英语地区以及日本的情况略有不同的是,中国的同人圈创作中,至少到目前为止,本国作品的同人并不占优势,一开始就呈现出一种多元文化融合的形态。虽然同人文化并没有详细界定原作的范围,但是通常情况下,同人创作是以流行文学和媒体为基础的。这里所谓流行,并不意味着粉丝所热爱的作品在主流高雅文化看来都上不得台面,而是指其粉丝会以消费流行文化的方式来消费它。中国古典名著如《三国演义》,外国名著如《悲惨世界》,就都是同人文化的重要关注点,尽管在文学史它们一般都被列为“经典”而非“流行”。除了文学和媒体的叙事文本之外,同人还常常建立在非传统封闭虚构叙事文本的基础上。比如说争议性很大的真人同人,就是以真实存在的人(一般是名人)为主角,以他们在媒体上的表现为想象基础创作同人作品。中文粉丝圈流行的历史同人也同样是建立在真实存在的人基础之上的,在英语文化圈通常也归入真人同人范畴,但在中国已发展出一种独特的同人创作传统。一般认为同人文化是女性向的文化,但男性同人文化同样存在。在中国,男性向同人主要以文字为主要表现形式,依托文学网站进行创作与传播,处于商业与非商业的边界地带。国内的男性向同人最初以武侠同人为主,其后逐渐转向日系动漫作品与美国漫画的同人写作。男性向同人较为注重作者与读者的自身代入,常常将主角设置为现实世界穿越到原作中的新人物,或者灵魂附身到某个原作人物身上,对原作剧情进行较强的介入,改变剧情走向与人物命运。同人的创作方式其实在很多二次创作中都可以看到,例如明清小说的大量续书(如《水浒后传》),例如五四时期大量作家对域外和古典小说的戏仿(如《故事新编》),同样的现象在国外的经典文学中也一样常见。因此同人的定义多基于其社群基础和身份认同,而非写作方式和文字表征。RPF/RPSRPF是Real Person Fiction的首字母缩写,指以真人的形象出发进行的同人写作,即“真人同人”。RPS是Real Person Slash的首字母缩写,因为英语中的slash不严格区分男女,所以可翻译为“真人耽美同人”(男性同性配对),或“真人百合同人”(女性同性配对)。RPS和RPF的重要区别,是RPS通常描写的是同性人物之间的互动和感情,而RPF并没有对人物性别和性向的规定,但通常来说,RPS在RPF中所占比例相当可观。广义的RPF通常以名人在公众媒体中的互动,以及出现在报道和访谈中的信息,来想象两人之间的关系,并在此基础上构造虚构内容,创作小说,并在粉丝圈中流传。这种同人通常以演员、歌手、其他偶像明星、体育运动员最为常见,也有想象政治人物、学者和其他文化名人的。在中文语境中,以古代历史人物为同人构造对象的真人同人通常称为历史同人,独立于RPF,但在英文中仍然属于RPF的范畴。排除掉基于史书的一些历史同人,RPF与其他同人小说有明显的区别,在于RPF并不基于一个传统意义上已经固定的,有作者的虚构文本,而是首先基于同人写作者对真实人物公众形象的观察和理解,也就是说,原文本通常是同人写作者本人通过综合大量真人的舞台表演、媒体采访信息和其他小道消息建构出来的。但从另一个角度说来,RPF的粉丝对于真人在现实生活中的表现和关系也并不必然特别在乎,或者会强行贴合自己的想象来解读;如果是两个同性人物的CP,两人即使都已经结婚生子也不妨碍RPS粉的爱情想象,因为归根结底,粉丝们在乎的通常只是这个通过各种(筛选过的)信息建构出来的文本,而非事实。在这套话语中,RPF的想象和涉及其中的真实世界的人物有着明显的区隔,故事写作和真实世界中的“蒸煮”(“正主”的谐音)没有直接关联,写作不能打扰蒸煮,而对RPF的圈内攻击也不能转移到对现实人物身上,即不能“上升蒸煮”。RPF在同人圈中早就存在,但是直到2000年左右,英语的粉丝研究中对这个话题一直有所保留。如果说同人小说在进入主流视野时需要特别顾忌对版权的侵犯导致的问题的话,那么真人同人最需要顾忌的是小说中对人物关系的想象惹怒涉及到的真人,并进一步引发侵害名誉的案件。20世纪90年代,加拿大电视剧《永远的骑士》中的女演员托蕊·斯佩林曾威胁要诉讼一篇写到她的RPF,但并未实施。这件事震慑了整个英语世界同人圈,并在一定程度上压制了RPF的公开流通。另外,因为RPF,尤其是RPS在同人圈中有很强的禁忌性和争议性,因此写作和阅读RPS的粉丝在粉丝圈中通常地位也较为边缘。亨利·詹金斯曾将真人同人称作粉丝圈“黑暗的小秘密”,并称在他的粉丝研究重要著作《文本盗猎者》中,受很多粉丝所托,特意回避了RPS这一现象。但2000年之后,社群内部讨论的结果更偏向于赞成RPF的合法性,也有人认为,不涉及版权问题的RPF比建立于虚构写作上的同人写作更少法律风险。例如,大型综合同人档案馆网站AO3的创办组织二次创作协会(OTW)的服务条款中写道:“真人同人的创作行为本身不构成人身骚扰,但是,禁止任何作品内容宣传、怂恿针对真人的实质性伤害,这包括且不仅限于死亡恐吓及要求读者对某个特定人群进行骚扰的行为”。作为耽美同人,RPS通常依托明星偶像的粉丝圈存在,在娱乐明星,常见的是偶像团体内部人员的CP,在体育明星,则多见于需要团体合作,特别是双人合作的体育项目中。另一种常有的可能性,是原媒体文本中虚构人物的CP被套用在扮演者的演员真人身上,即RPS和作品中的CP并行存在,且互有映衬。现如今,一方面RPS的禁忌性依然很强,另一方面,也存在娱乐公司专门用这类娱乐消费方式来诱导粉丝的情况,即“官方卖腐”,提供一些可以理解为亲密关系的互动的材料以诱发粉丝对二人关系的想象和推崇。这类“官方卖腐”在日韩偶像工业中很常见,如今中国大陆的一些偶像团体也采用了这种营销策略。AO3AO3是网站Archive of Our Own(意为:我们自己的档案馆)的首字母缩写词。该网站是非营利性开源网站,由非营利非商业组织,二次创作协会(Organization of Transformative Works)拥有并管理。网站为档案馆式结构,以便容纳各种不同的粉丝圈,目前主流的发布内容是同人写作,但也可以提供图片、音频和视频的外部链接内嵌。网站的界面以英文为主,正在志愿者的协助下慢慢加入多语言界面。网站发布的文章支持各种语言。“我们自己的档案馆”取弗吉尼亚·伍尔夫的女性主义名篇《一间自己的房间》(A Room of One’s Own)的典故,强调了自由阅读和写作的意义。网站的源起是为了反对2007年建立的一个商业运行的营利性网络同人小说站点FanLib。几名同人作者不满于该站点的商业导向和非粉丝管理层,在当时的英文同人聚集地,LiveJournal博客圈中提出建立粉丝自己的同人小说网站。以这种理念为目标的AO3创办于2008年,从2009年开始试运营。截止到2020年3月,注册用户已超过200万人,粉丝圈数量三万余个,总作品量在500万以上。是全球最大的同人写作网站之一。基于抵抗商业化和资本收编的理念,该网站全部由粉丝组织管理,粉丝运营,大量工作人员都是志愿者,整体界面由参与写作和阅读的粉丝设计管理,发布、浏览和搜索都清晰简单易用。网站运营经费全部依靠粉丝的捐款,没有任何广告。受益于二次创作协会的二次写作版权合法化倡导,AO3支持同人写作也有权利,坚持同人写作的合理使用原则。该网站容纳了不少传统同人写作网站上的禁忌话题,如真人同人(RPF)等,倡导创作者的自由。除此之外,二次创作协会还有几个相关的项目,其中之一名为Open Doors,意在抢救互联网上时间久远可能消失的同人创作文本,并将其导入AO3。至2019年底,已导入60余个历史网站和文库的数据。2013年,《时代周刊》将AO3列为设计最佳的50个网站之一。2019年,AO3以网站的形式获得了2019年世界科幻大会颁发的雨果奖最佳相关作品奖。(本文撰稿人:郑熙青 中国社会科学院文学研究所)责任编辑:张喆澎湃新闻报料:021-962866澎湃新闻,未经授权不得转载+1收藏我要举报#同人文#肖战查看更多查看更多开始答题扫码下载澎湃新闻客户端Android版iPhone版iPad版关于澎湃加入澎湃联系我们广告合作法律声明隐私政策澎湃矩阵澎湃新闻微博澎湃新闻公众号澎湃新闻抖音号IP SHANGHAISIXTH TONE新闻报料报料热线: 021-962866报料邮箱: news@thepaper.cn沪ICP备14003370号沪公网安备31010602000299号互联网新闻信息服务许可证:31120170006增值电信业务经营许可证:沪B2-2017116© 2014-2024 上海东方报业有限公

并发用户、RPS、TPS的概念及关系_性能测试(PTS)-阿里云帮助中心

并发用户、RPS、TPS的概念及关系_性能测试(PTS)-阿里云帮助中心

产品解决方案文档与社区权益中心定价云市场合作伙伴支持与服务了解阿里云售前咨询 95187-1 在线服务售后咨询 4008013260 在线服务其他服务 我要建议 我要投诉更多联系方式备案控制台

文档产品文档输入文档关键字查找

性能测试

产品概述

快速入门

操作指南

实践教程

开发参考

服务支持

性能测试 PTS 3.0

性能测试 PTS 2.0

首页

性能测试

产品概述

产品简介

基本概念

并发用户、RPS、TPS的解读

并发用户、RPS、TPS的解读更新时间:一键部署产品详情相关技术圈我的收藏

本文介绍并发用户、RPS、TPS的基本概念以及三者之间的关系。术语定义并发用户:在性能测试工具中,一般称为虚拟用户(Virtual User,简称VU),指的是现实系统中操作业务的用户。说明 并发用户与注册用户、在线用户不同。注册用户一般指的是数据库中存在的用户。在线用户只是“挂”在系统上,对服务器不产生压力。但并发用户一定会对服务器产生压力。TPS:Transaction Per Second,每秒事务数,是衡量系统性能的一个非常重要的指标。说明 系统每秒处理事务数越多证明您的机器性能越好。RPS:Request Per Second,每秒请求数。RPS模式适合用于容量规划和作为限流管控的参考依据。RT:Response Time,响应时间,指的是业务从客户端发起到客户端接收的时间。在性能测试中,通常有两种施压模式:并发模式和RPS模式。传统方式是使用并发用户数来衡量系统的性能(站在客户端视角)。此方法一般适用于一些网页站点的压测(例如H5页面);而RPS(Requests per second)模式主要是为了方便直接衡量系统的吞吐能力TPS(Transaction Per Second,每秒事务数)而设计的(站在服务端视角),按照被压测端需要达到TPS等量设置相应的RPS,应用场景主要是一些动态的接口API,例如登录、提交订单等等。VU和TPS换算公式描述:TPS=VU/RT,(RT单位:秒)。举例说明:假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1。如果某笔业务响应时间是1 ms,那么1个虚拟用户在1s内能完成1000笔事务,TPS就是1000了;如果某笔业务响应时间是1s,那么1个虚拟用户在1s内只能完成1笔事务,要想达到1000 TPS,就需要1000个虚拟用户。因此可以说1个虚拟用户可以产生1000 TPS,1000个虚拟用户也可以产生1000 TPS,无非是看响应时间快慢。如何获取VU和TPSVU获取方式:已有系统:可选取高峰时刻,在一定时间内使用系统的人数,这些人数可认为是在线用户数,并发用户数可以取10%,例如在半个小时内,使用系统的用户数为10万,那么取10%(即1万)作为并发用户数基本就够了。新系统:没有历史数据作参考,建议通过业务部门进行评估。TPS获取方式:已有系统:可选取高峰时刻,在一定时间内(如3分钟~10分钟),获取系统总业务量,计算单位时间(秒)内完成的笔数,乘以2~5倍作为峰值的TPS,例如峰值3分钟内处理订单18万笔,平均TPS是1000,峰值TPS可以是2000~5000。新系统:没有历史数据作参考,建议通过业务部门进行评估。如何评价系统的性能针对服务器端的性能,以TPS为主来衡量系统的性能,并发用户数为辅来衡量系统的性能,如果必须要用并发用户数来衡量的话,需要一个前提,那就是交易在多长时间内完成,因为在系统负载不高的情况下,将思考时间(思考时间的值等于交易响应时间)加到串联链路中,并发用户数基本可以增加一倍,因此用并发用户数来衡量系统的性能没太大的意义。同样的,如果系统间的吞吐能力差别很大,那么同样的并发下TPS差距也会很大。性能测试策略做性能测试需要一套标准化流程及测试策略。在做负载测试的时候,传统方式一般都是按照梯度施压的方式去加用户数,避免在没有预估的情况下,一次加几万个用户,导致交易失败率非常高,响应时间非常长,已经超过了使用者忍受范围内;较为适合互联网分布式架构的方式,也是阿里巴巴的最佳实践是用TPS模式(吞吐量模式)+设置起始和目标最大量级,然后根据系统表现灵活的手工实时调速,效率更高,服务端吞吐能力的衡量一步到位。更多信息,请参见如何设置目标并发或目标RPS?。总结综上所述,可以得出以下结论:系统的性能由TPS决定,跟并发用户数没有多大关系。系统的最大TPS是一定的(在一个范围内),但并发用户数不一定,可以调整。建议性能测试的时候,不要设置过长的思考时间,以最坏的情况下对服务器施压。一般情况下,大型系统(业务量大、机器多)做压力测试,10000~50000个用户并发,中小型系统做压力测试,5000个用户并发比较常见。相关文档RPS模式的并发量是如何计算的?如何设置目标并发或目标RPS?

反馈

文档推荐

压力模型

不同性能压测工具对比

为何设置了300并发,实际压测过程中并未能达到?

性能测试-术语表

如何设置目标并发或目标RPS?

什么是性能测试PTS

RPS模式的并发量是如何计算的?

如何在一分钟内发起压测?

本页导读 (1)文档反馈

为什么选择阿里云什么是云计算全球基础设施技术领先稳定可靠安全合规分析师报告产品和定价全部产品免费试用产品动态产品定价价格计算器云上成本管理解决方案技术解决方案文档与社区文档开发者社区天池大赛培训与认证权益中心免费试用高校计划企业扶持计划推荐返现计划支持与服务基础服务企业增值服务迁云服务官网公告健康看板信任中心关注阿里云关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务售前咨询:95187-1售后服务:400-80-13260法律声明及隐私权政策Cookies政策廉正举报安全举报联系我们加入我们阿里巴巴集团淘宝网天猫全球速卖通阿里巴巴国际交易市场1688阿里妈妈飞猪阿里云计算AliOS万网高德UC友盟优酷钉钉支付宝达摩院淘宝海外阿里云盘饿了么© 2009-2024 Aliyun.com 版权所有 增值电信业务经营许可证: 浙B2-20080101 域名注册服务机构许可: 浙D3-20210002 京D3-20220015浙公网安备 33010602009975号浙B2-20080101-4

RPS(真人同人)_百度百科

真人同人)_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心RPS是一个多义词,请在下列义项上选择浏览(共8个义项)展开添加义项RPS播报讨论上传视频真人同人收藏查看我的收藏0有用+10本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!RPS是Real Person Slash的首字母缩写,指以真人的形象出发进行的同人创作。 [1]中文名真人耽美向(小说)外文名RPS类    别网络词汇全    称Real Person Slash目录1概念定义2注意事项3模糊因素4发展过程▪诞生历史▪演进▪slash现状5分级与警告▪Squick流派▪原创slash▪争议尚存▪Chanslash▪真人同人6Slash美术品7学术界的slash概念定义播报编辑slash(耽美同人)小说是同人小说的一种,其中包括一个或多个媒体形象,主要情节为主人公之间的同性关系。此类同性配对通常通过直接详尽的细节描述进行表现,同时在很大程度上超出原始资料的范围。Slash这一名称起源自用于表示故事配对的“/”符号,以同“&”进行区分,而后者通常用来表示“友情”小说。在今天的同人界,很多异性配对也使用“/”符号来表示,而传统上用来表示异性配对的“X”符号也可以用来表示同性配对。不过,最好不要交替使用“/”和“X”,因为这样可能引起误解。RPS是Real Person Slash的首字母缩写,因为英语中的slash不严格区分男女,属于RPF(Real Person Fiction即真人同人)的一种,可译为“真人耽美同人”,或“真人百合同人”。通常来说,RPS在RPF中所占比例相当可观。RPS创作者通常以名人在公众媒体中的互动,以及出现在报道和访谈中的信息,来想象两人之间的关系,并在此基础上构造虚构内容,创作小说、绘画、视频剪辑等内容并在粉丝圈中流传。这种同人通常以演员、歌手、其他偶像明星、体育运动员最为常见,也有想象政治人物、学者和其他历史或文化名人的。 [2]RPS通常依托明星偶像的粉丝圈存在,但同时也存在娱乐公司专门用这类娱乐消费方式来诱导粉丝的情况,即“官方卖腐”,由官方提供一些可以理解为亲密关系的互动的材料,引导粉丝创作,进行营销。 [2]注意事项播报编辑RPS创作的注意事项RPS在同人圈中早就存在。如果说同人在进入主流视野时需要特别顾忌对版权的侵犯导致的问题的话,那么RPS(真人同人)最需要顾忌的是小说中对人物关系的想象侵犯涉及到的真人的权益。但也有人认为,不涉及版权问题的RPF比建立于虚构写作上的同人写作更少法律风险。例如,大型综合同人档案馆网站AO3的创办组织二次创作协会(OTW)的服务条款中写道:“真人同人的创作行为本身不构成人身骚扰,但是,禁止任何作品内容宣传、怂恿针对真人的实质性伤害,这包括且不仅限于死亡恐吓及要求读者对某个特定人群进行骚扰的行为”。 [2]请注意,一般的夫妻或情侣不是RPS。正常向CP与百合、耽美CP均可用。 [1]模糊因素播报编辑Slash这一说法本身具有若干模糊因素。一些人认为,有些已出版的作品,尽管并非同人,但也属于slash的范畴,这从技术角度讲是错误的。此种现象之所以产生,可能是因为源媒体中较少出现同性关系的情节。例如说,《星际迷航/Star Trek》在屏幕上鲜有同性关系情节,只有镜像宇宙(mirror universe)是例外(在DS9的一集中曾经有过此类情节);而在官方授权的《星际迷航》小说中,有两部包含了同性关系:1985年出版的Killing Time ,作者Della van Hise,以及2001年出版的Section 31: Rogue by Andy Mangels ,作者Andy Mangels。其他作家一些包含同性题材或角色的作品,有时也被称为slash。鉴于源媒体本身缺少同性关系情节,有些人认为,slash小说属于严重脱离原著的同人。这些人主张,只有在源作品中本来不存在类似关系的情况下,对于同性关系的描写才能算作slash小说,因此本来已经存在同性关系的作品同人不属于slash。近期在屏幕上出现了一些同性恋角色,例如电视系列剧Buffy the Vampire Slayer中的Willow和Tara,以及《同志亦凡人/Queer as Folk》中的许多角色,上述讨论也因此变得更加激烈。不过,如果坚持此种定义,就会给很多作品的分类带来不便,因此采纳这种区分方式的人并不多。最近,一些slash作者的作品中开始包含性别转换的主题,并出现变性或双性角色。Slash一词在这方面的定义也因此成为很多圈子经常讨论的热点话题。根据最严格的定义,只有描写两名男性伙伴之间关系(M/M)的作品才能称作slash。所以就产生了新的femslash/femmeslash定义,还有人使用日本的说法yaoi(耽美)指代男/男情节,yuri(百合)指代女/女情节。近年以来,slash在网上日益流行,有些人开始用slash一词来指代所有情色同人作品,不论其主题是异性还是同性。这一现象引起了正常向同人作者的关注,有时是因为他们无法容忍同性恋,所以觉得与同性题材作品相提并论是一种对自己的冒犯。Slash作者也关注这一现象,她们认为,尽管slash作品可能含有情色成分,但其本意并非如此,同时,如果将情色小说定义为slash,那么这个词就无法再用来表示适合所有年龄的同性同人作品,而且还可能引起误会,因为已经有一些比较清楚的用词,例如“色【= =】情”、“成【= =】人”和“黄色”。同时,很多报导同人现象的记者也通常会认为,所有的同人作品都是slash,或者至少都带有情色成分。发展过程播报编辑诞生历史通常认为,slash在诞生之初只是完全同性题材的同人小说,不过,在此基础之上,slash的定义已经发展得更为广泛。公认最早的slash小说产生于20世纪70年代,当时《星际迷航:原初系列/Star Trek: The Original Series》的同人小说圈子中有了Kirk/Spock配对的故事。这样的情况毫不令人惊讶,因为正是《星际迷航》的流行在很大程度上促成了现代同人小说的诞生。从那时开始,同性关系得到越来越多的包容和接受,人们渴望在主流媒体中表现这种关系,作家们也越来越渴望通过已经存在的媒体形象,用自己的方法来探索这一话题。随着《星际迷航》续集的诞生,slash小说也在原初系列基础上有所发展,并迅速扩展到其它的电视剧、电影和书籍。演进近年来,slash作品已经不仅限于文本的范畴。随着slash的日益流行,以及人们利用因特网来改进和传播多媒体内容,slash和slash解析也开始有了新的形式。slash现状Slash小说仍然以大众媒体为主题,不断有新故事诞生。和一般的同人作者一样,slash的读者和作者倾向于紧贴源题材,并且会为某一特定题材创造一个fandom(圈子)。Slash的圈子数量众多,且通常互不干涉,每个圈子都有自己的风格和规矩,也都有自己的历史以及最受欢迎的作品作者。每个fandom是否受欢迎,以及是否活跃,都同源题材的受欢迎程度相关。每个圈子的人员构成不尽相同,但今天,大多数slash(据非正式统计,比例高达98%)的作者均为异性恋女性。读者群的情况不是最清楚,不过有研究表明,大多数读者可能是异性恋女性和同性恋男性。很多人都在思考为什么slash在这样的群体中如此流行,而通常接受的理论就是,异性恋女性认为男/男关系比较有情色感,正如一些男性认为女同性恋关系具有吸引力一样。分级与警告播报编辑和其它同人小说一样,slash有时也使用美国电影协会(MPAA)的影片分级标准,用G、PG、PG-13、R以及NC-17来表示文章中与性相关的内容的含量。并不是所有slash作品中都含有直接的性描写,不过需要注意的就是,如果一部作品标明是slash,或者包含slash内容,而又没有分级,那么就很可能包含直接描写。两个角色之间的接触也可以是很纯洁的,例如牵手或朋友般的吻。MPAA分级系统的使用也带来了商标权的问题,因此一些圈子也创造了自己的分级系统。如果某个故事的主题可能冒犯别人,或者有的读者可能对某些主题反感(例如非自愿性行为、乱【= =】伦、BDSM乃至异性性行为),那么,在故事开头加上警告内容就是一种礼貌的表现。有些网站要求所有的文章都带有分级和警告,这样的工作通常由试阅者(beta reader)来完成。有时,也使用“非柠檬/no lemon”的说法来表示没有性描写的slash作品。所有带有直接描写的内容都可以用“柠檬/lemon”来表示。“柠檬/lemon”和“莱檬/lime”的说法都始自动画/耽美的圈子。“Lemon”得名于H(hentai)动画系列“Cream Lemon/奶油柠檬”,而“lime”有时用来表示故事中仅含有温和的性描写,和PG-13的电影分级类似。Squick流派Squick也是值得一提的同人流派,有时也称作squickfic。这一派的作品同slash类似,但其意图并不仅仅是吸引或娱乐读者,而是故意要让读者觉得极其不舒服。有时,squick甚至都不是基于感情之上,也没有亲密关系的描写,而是只有暴力。不过,大多数的squick作品都是关系与暴力的结合,如果可能的话,其分级将会超过NC-17。时下流行的squickfic当中,有一少部分的分级已经比NC-17高出几级。一般认为,如果读者在有胆量通读某篇squick作品后恶心得想吐,那么这就是“最好的”squick。原创slash还有一类日益发展壮大的作品,粗略称为“original slash/原创slash”(故事使用原创的角色和设定,强调主角之间的同性,即M/M或F/F关系)。这样的作品无法简单定义为“同性恋”作品,因为其中的情色成分各不相同,而情节和感情发展也往往优先于性爱场景的描写。与传统的、以同人为基础的slash一样,原创slash也主要由女性创作,女性阅读,不过有时会和同志文学中的男性读者和作者有一定交集。许多作者都是从同人作品开始锻炼文笔,然后开拓自己的角色和主题(例如P. L. Nunn,Manna)。网上有大量的自由业余作品,它们的读者群和同人作品类似。在电子出版界,原创slash的市场正在逐步专业化,不过很多作者还是通过因特网或是货到付款方式出版自己的作品。有一些出版社专门出版M/M及F/F题材的作品,如Torquere Press,还有许多其它出版情色及浪漫作品的电子出版商,也把“同性”这一分类增加到了自己的产品当中。Slash出版的分类非常齐全,包括科幻(Sean Michael、 Fiona Glass、K.M. Frontain、Ann Somerville、Dusk Peterson),传统浪漫(Emily Veinglory、Julia Talbot、Laura Braumbach 、Sarah Payne),恐怖(James Buchanan),超自然(Mychael Black、Sable St.Germain、Kay Derwydd)以及许多其它类别。争议尚存对于许多人来说,slash是一个具有争议性的话题。同人小说本身就会引发法律问题,同时还有人认为,将媒体上的角色以一种源资料中没有出现过的方式表现出来,会破坏这些角色的形象。不过,slash作者通常认为,性取向和罗曼史不一定就是确定的内容,因此也不可能断言某个角色就是异性恋、同性恋或双性恋。在很多同人网站上都有轰轰烈烈的辩论,讨论某种关系是否符合原著,不管是同性还是异性关系。不过,相当一部分的slash作者之所以选择自己的圈子,就是因为他们相信这种关系是可能存在的,只不过因为害怕失去收视率而无法明言。例如,在Buffyverse(Buffy the Vampire Slayer和Angel的同人)圈子中,有Angel/Spike配对,而在Angel的DVDA Hole in the World 中,Angel的创作者Joss Whedon说道,“Spike和Angel……一起度过了一年一年又一年。他们都是离经叛道的人,难道人们觉得他们从来不会……?好了,大家!他们的思想都挺开放的!”不必说,这成为很多粉丝的论据,从两个角色相遇的时候开始,她们就一直争论这个话题。在其它媒体资源中还有一些这样的slash关系,例如《哈利?波特/Harry Potter》、《超人前传/Smallville》、《老友记/Friends》、《豪斯医生/House M.D》,以及很多日本动画。有时,一些情色作品引起的争议尤其大:比如说众所周知的,包括未成年角色的slash(通常被称作“chanslash”,例如一些《哈利?波特》slash),以及真人同人(RPS,即slash故事中的角色都是真实存在的人,通常是名人),这些题材的作品可能会令人不快,而这些人也许会认为其它的情色作品没有什么问题。Chanslash显然,Chanslash本身即具有争议的成分,因为其中包含对未成年角色的性描写。Chanslash通常会令这些角色的著作权人感到不快,因为有可能会带来法律问题,同时还可能对角色的受欢迎程度产生负面影响。曾经有一些工作室对于根据旗下角色创作的slash发出禁止令,抑制这种slash。真人同人20世纪90年代,随着一些男子乐团的走红,真人同人(RPS)也开始流行起来。这些歌唱团体,例如*NSYNC或The Backstreet Boys,以女孩和年轻女性为主要观众群,其公众形象都经过谨慎设计和推广。这些男子乐团之所以走红,是因为他们共同的形象,而不是其形象本身,所以许多slash作者都觉得将他们视为小说中的角色不会存在太多道德顾虑。真人同人一般都是选取名人的公众形象,以此为基础创作slash股市。从男子乐团开始,RPS的触角开始伸向其他音乐人、体育界人物、演员、乃至著名政客。使用真人的名字来讲述故事是否合法,这一问题经常受到质疑。因此,作者们经常在故事前面加上长长的声明,明确说明其作品纯属虚构。随着slash读者和作者开始使用博客(BLOG)服务,真人同人的发展迎来了新的阶段。她们撰写虚构的日志,假装是名人日记,通常,这些日志中会声明纯属虚构,而作者只是在参与角色扮演游戏(cosplay——译者注),扮演某位名人。Slash美术品播报编辑除了小说以外,粉丝们还为喜欢的角色创作美术作品。近年来,Adobe Photoshop等图像处理软件广为流行,这就让slash画家可以修改照片,来制作暗示同性关系的浪漫或情色形象,包括静态图片和可以变化的gif格式图。不过,在电脑进入大多数家庭以前,大多数的同人作品都是手绘,通过素描、点画、以及油画的方式。同人画较少使用炭画、水彩画以及其它形式。Hentai(H)同slash的联系非常紧密,许多slash故事都会附有hentai风格插画的链接。学术界的slash播报编辑20世纪90年代早期,人文学科开始文化研究运动,slash小说成为数个著名学术研究的主题:Cicioni, Mirna (1998). "Male Pair Bonds and Female Desire in Fan Slash Writing." In C. Harris & A. Alexander (Eds.) Theorizing Fandom: Fans, Subculture and Identity. Cresskil, New Jersey: Hampton.Penley, Constance (1997). NASA/Trek: Popular Science and Sex in America. New York: Verso. ISBN 0-86091-617-0.Bacon-Smith, Camile (1991). Enterprising Women: Television Fandom and the Creation of Popular Myth. Philadelphia: University of Pennsylvania Press. ISBN 0-8122-1379-3.Jenkins, Henry (1992). Textual Poachers. London: Routledge. ISBN 0-415-90572-9.以上研究都属于文化研究的范畴,因此大多数都是从人口的角度来分析slash作品,主要探讨slash的作者以及slash周围形成的团体。它们对于文本的分析非常少。不过,尽管大多数分析都选取人类学的角度,还是有像Jenkins这样的特例,他的研究就没有包含人口方面的趋势与辩论。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

史上最全讲解:一文说清弄懂RPS指标 在趋势交易者圈子里,一直流传着一个神奇的指标,除了用它发现相对强势的股票,甚至会把它当做交易的圣杯和买进股票的依据。这个... - 雪球

讲解:一文说清弄懂RPS指标 在趋势交易者圈子里,一直流传着一个神奇的指标,除了用它发现相对强势的股票,甚至会把它当做交易的圣杯和买进股票的依据。这个... - 雪球首页行情行情中心筛选器新股上市买什么交易A股交易基金交易私募中心下载App扫一扫,下载登录/注册趋势交易圆桌派()发布于2022-11-29 10:38来自雪球关注史上最全讲解:一文说清弄懂RPS指标来源:雪球App,作者: 趋势交易圆桌派,(https://xueqiu.com/9516980656/236544709)在趋势交易者圈子里,一直流传着一个神奇的指标,除了用它发现相对强势的股票,甚至会把它当做交易的圣杯和买进股票的依据。这个指标就是RPS指标。RPS英文全称Relative Price Strength Rating,即股价相对强度指标相对强度指标。该指标是由《笑傲股市》作者威廉.欧奈尔提出,并运用于市场分析的。RPS指标是指在一段时间内,个股涨幅在全部股票涨幅排名中的位次值。欧奈尔相对强度指标是以250天周期运作的,在国内,大V陶博士根据RPS指标的定义编制了A股市场的RPS指标,并对指标做了改进。A股市场的RPS指标常用的三个时间周期是50日,120日和250日这三个周期,120日和250日代表着中长期,50代表的是短期股价的相对强度。怎样理解RPS指标?比方说,在某个市场共有100只股票,若某个股票的月涨幅在100只股票中排名第10位,那么该股的RPS值就是:(1-10/100)*100=90。那么这就意味着这个股票的月度涨幅超过其他90%的股票。通过RPS指标可以观察出个股股价走势相对于同时期市场大盘的强弱。你也可以理解为:这个市场的100只股票在开展一场爬山比赛,股价的上涨过程就是爬山,当某只个股50日RPS指标达到90的时候,就表明该股票50日内的股价涨幅的相对强度超出了90%的股票。120日和250日指标也可以这样理解。欧奈尔信徒们为什么把RPS指标作为交易圣杯呢?威廉·欧奈尔在《笑傲股市》中写道:真正的领军股,它们往往是在接近或位于新的股价高点之上时才开始大规模涨势的,而不是在接近新的低点或是从高点巨量跌落之后才转跌为升的。市场一直存在着不变的定律:强者恒强,弱者恒弱。也就是说涨势比较好的股票往往后期的涨势会更大,跌得狠的股票往往后期会越跌越深。总体而言,强势股的走势是:大盘小涨,它大涨;大盘大涨,它强势涨停;大盘小跌,它不跌;大盘大跌,它横盘整理或逆势大涨大涨;这就是强势股的强势特征。交易者购买强势股,赚钱机会将会大大高于购买弱势股。而成为强势股的必经之路就是RPS强度超过90。你可以把自己当做是爬山比赛的观赛者,可以用RPS指标挑选这场比赛当中的强者,当某只个股的RPS强度超过90的时候你才去押注(购入股票),这样将大大提高你押注的成功率。当然,在你押注时它只是暂时领先,RPS指标也并不能保证它会在这场比赛中一直领先。在趋势交易者看来,RPS指标高于一切,只有在任一周期的RPS指标超过90,才可能考虑买入某只股票。下图是近期内强势上涨的一只股票和相应的RPS指标,(50日、120日、250日RPS指标分别用黄色、绿色、白色曲线分别标识,当某一周期RPS值大于等于90时相对应的曲线变成红色)。以下图片仅用于示例,绝非荐股。网页链接" data-index="1" style="width: 677px !important; height: 305.742px !important;">还不会设置RPS副图公式的朋友可在公众号后台回复:RPS,即可下载设置方法。对于RPS指标使用方法还有疑问的朋友,推荐阅读威廉.欧奈尔的著作《笑傲股市》。趋势交易圆桌派:研究交易牛人,分享交易干货。如果文章对您有用,请转发给您最亲的家人和朋友们。

RPS集团

RPS集团

Rapid Parts Solutions

13751355575

搜索

Language

中文

Deutsch

日本語

English

Rapid Parts Solutions

服务项目

服务项目

快速模具

硅胶模具

RIM

复合模具

快速钢模

钣金

CNC加工

CNC 铣削

CNC 车削

3D打印

SLA

SLS

SLM直接金属烧结

HP 喷射熔融工艺

FDM

碳纤维

应用领域

碳纤维模具

异形件方案咨询

材料

应用案例

模具制造

注塑模具

注塑产品

橡胶产品

压铸产品

双色模

自助下单

材料选择

材料分类

材料比较

RPS资源

资源中心

工艺指导书

设计注意事项

案例参考

视频

技术研讨和展览

常见问题解答

常用术语

关于RPS

走进RPS

人才纳入

职业生涯

为什么选择RPS

RPS资讯

办公地点

项目管理

品质管理

联系RPS

方案报价

WELCOME TO RAPID PARTS SOLUTIONS

高品质 交期快 价格优 最快8小时交货

WELCOME TO RAPID PARTS SOLUTIONS

高品质 交期快 价格优 最快8小时交货

WELCOME TO RAPID PARTS SOLUTIONS

高品质 交期快 价格优 最快8小时交货

WELCOME TO RAPID PARTS SOLUTIONS

高品质 交期快 价格优 最快8小时交货

WELCOME TO RAPID PARTS SOLUTIONS

高品质 交期快 价格优 最快8小时交货

快速模具

>>

1-200件以上零件

1-5天内发货

起步价 RMB350元

CNC加工

>>

1-500件以上零件

12小时发货

起步价 RMB350元

3D打印

>>

1-100件以上零件

最快生产时间4小时

起步价 RMB150元

碳纤维

>>

1-500件以上零件

起步价 RMB450元

模具制造

>>

50-5000件以上零件 

1-25天发货 

起步价 RMB3000元

我们新增设备啦

2020年我们战胜了疫情,并在各位新老客户的支持下获得进一步发展,为了深度满足客户的需求,在2020年底除了以前的设备之外,我司购置了一批新设备(10台SLA设备和2台SLS设备),并在2021年1月底调试装配就绪,且正式投入生产。

了解更多 >

3D打印

您可以根据需求选择SLA、SLS、SLM、HP 4种3D打印方式,最快速度制作精密样件或零件。

了解更多 >

材料选择

从百余种制造材料中选择,包括多个等级的工程级塑料、PU、碳纤维、金属和橡胶材料。

在选择材料时,考虑材料的机械性能、可制造性、外观和成本。如果您选择提供您自己的注塑材料,请填写此客户提供的材料表格,其中要求您上传MSDS和材料物性表文件。我们将与您联系运输信息和材料ID号。对于材料的铣削和车削尺寸,请参阅加工的最大零件尺寸。

了解更多 >

表面处理

工业级3D打印的后处理二次加工可改善零件的表面处理效果和外观

了解更多 >

小批量生产

当您的零件需求批量并不确定时,建议您给RPS发邮件咨询,RPS成熟的多种塑胶,金属零件小批量生产工艺,提供最经济丶快速的方案,帮助您争取更快的产品上市时间,节约开正式模具的费用,尤其在汽车丶医疗丶智能装备等行业超过500mm的大零件更具成本优势。

了解更多 >

RPS数据概况

RPS工厂数量

5 家

生产工厂面积

28000㎡

协力及合资工厂

9家

日生产件数

批量20000+件

小批量2800+件

年项目数

11000+件

客户分布

40+创新型发达国家

500+全球知名品牌

RPS资源

工艺指导书

ABS熏蒸、水镀

使用分析纯(二氯甲烷)熏蒸,通过二氯甲烷蒸汽进行熏,熏到表面发亮即可。可以提高效率,避免抛光不均匀。

了解更多

工艺指导书

金属蚀刻技术

金属蚀刻就是先在基板上用丝印或网印的方式把基板上需要保护的部位遮住,然后用化学或电化学方式侵蚀掉不需要的部位,最后退去保护膜得到制品的一种加工方式;

了解更多

工艺指导书

铝管折弯工艺

铝管折弯工艺:用一种底座带轮盘的折弯机,折弯铝管时操作方便,加工精度高,而且折弯后铝管弯折处的弧度均匀,弯角处可以保持良好的强度。

特点:不同方向,不同角度,圆管都可以折弯,同一根管材可以折弯多次不同方向,达到用户要求,材料为铝,选材容易,种类多,重量轻,加工成本低。

了解更多

工艺指导书

金属件挤压工艺

挤压工艺原理:对放在模具型腔(或挤压筒)内的金属坯料施加强大的压力,迫使其从特定的模孔中流出来,获得所需要产品断面形状与尺寸的一种塑性成型方法。

了解更多

精准服务为客户创造价值

RPS最恰当的工艺标准是高品质丶快速丶经济

———RPS创始人

Joe Deng

RPS为具有创新精神的知名品牌服务

使用条件

隐私政策

深圳阿尔比斯科技有限公司

地址:深圳市龙华区民治街道上芬社区龙屋工业区7号厂房整套4楼

电话:13751355575

邮箱:rps-em@realrps.com

© RPS 2018 All rights reserved. 粤ICP备17011744号

ISO 9001:2015认证 | ITAR已注册

与RPS保持联系

13751355575

友情链接:

立刻制造

网址: letscreate.realrps.com   

RPS-MOULD

网址: www.rps-mould.com   

联系RPS

网络营销中心总经理:何辉

13751355575

邮箱:rps-em@realrps.com

招聘简章

Skype

饭圈rps什么意思? - 知乎

饭圈rps什么意思? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册明星娱乐圈饭圈饭圈rps什么意思?关注者3被浏览54,284关注问题​写回答​邀请回答​好问题​添加评论​分享​3 个回答默认排序尔耳吃瓜而已,尤其讨厌渣男​ 关注Real Person Slash,磕真人cp的发布于 2019-08-23 09:13​赞同 9​​1 条评论​分享​收藏​喜欢收起​简-图艹,我真笑了​ 关注真人cp的粉丝。就是两个人在剧里的角色是情侣,但是粉丝脱离角色,把现实生活中的两个人作为假想情侣。发布于 2019-08-23 09:25​赞同​​添加评论​分享​收藏​喜欢收起​​

一文看懂linux 内核网络中 RPS/RFS 原理 - 知乎

一文看懂linux 内核网络中 RPS/RFS 原理 - 知乎切换模式写文章登录/注册一文看懂linux 内核网络中 RPS/RFS 原理精通Linux内核1 自带 irqbalance 瓶颈基于简单的中断负载均衡(如系统自带的irqbalance进程)可能会弄巧成拙。因为其并不识别网络流,只识别到这是一个数据包,不能识别到数据包的元组信息。在多处理器系统的每个处理器都有单独的硬件高速缓存,如果其中一个 CPU 修改了自己的硬件高速缓存,它就必须该数据是否包含在其它 CPU 的硬件高速缓存,如果存在,必须通知其它 CPU 更新硬件高速缓存,这叫做 CPU 的 cache 一致性。所以为了降低 CPU 硬件高速缓存的刷新频率,需要把特征相似的数据包分配给同一个 CPU 处理。另外在TCP的IP包的分段重组问题,一旦乱序就要重传,一个 linux 主机如果只是作为一台路由器的话,那么进入系统的一个TCP包的不同分段如果被不同的 cpu 处理并向一个网卡转发了,那么同步问题会很麻烦的,如果不做同步处理,那么很可能后面的段被一个 cpu 先发出去了,那最后接收方接收到乱序的包后就会请求重发,这样则还不如是一个 cpu 串行处理。这个需要一套方案,需要弄清楚三个问题:哪个 CPU 在消耗这个网络数据哪个 CPU 在处理中断哪个 CPU 在做软中断这个三个问题就是 RPS/RFS 需要去解决的。2 RPS/RFS 数据结构以及更新函数linux 底层的很多机密都藏在数据结构中,包括其面向对象的设计,所以先来看下这些数据结构。网卡的硬件接收队列 netdev_rx_queue(include/linux/netdevice.h)。/* This structure contains an instance of an RX queue. */

struct netdev_rx_queue {

#ifdef CONFIG_RPS

struct rps_map __rcu *rps_map;

struct rps_dev_flow_table __rcu *rps_flow_table;

#endif

struct kobject kobj;

struct net_device *dev;

} ____cacheline_aligned_in_smp;2.1 CPU 负载表 rps_map存放解析结果的就是网卡硬件接收队列实例的 rps_map 成员, cpus数组用来记录配置文件中配置的参与报文分发处理的cpu的数组,而len成员就是cpus数组的长度。/*

* This structure holds an RPS map which can be of variable length. The

* map is an array of CPUs.

*/

struct rps_map {

unsigned int len;

struct rcu_head rcu;

u16 cpus[0];

};2.1.1 rps_map 解析函数(store_rps_map)// net/core/net-sysfs.c

static ssize_t store_rps_map(struct netdev_rx_queue *queue,

const char *buf, size_t len)

{

struct rps_map *old_map, *map;

cpumask_var_t mask;

int err, cpu, i;

static DEFINE_MUTEX(rps_map_mutex);

if (!capable(CAP_NET_ADMIN))

return -EPERM;

if (!alloc_cpumask_var(&mask, GFP_KERNEL))

return -ENOMEM;

err = bitmap_parse(buf, len, cpumask_bits(mask), nr_cpumask_bits);

if (err) {

free_cpumask_var(mask);

return err;

}

map = kzalloc(max_t(unsigned int,

RPS_MAP_SIZE(cpumask_weight(mask)), L1_CACHE_BYTES),

GFP_KERNEL);

if (!map) {

free_cpumask_var(mask);

return -ENOMEM;

}

i = 0;

for_each_cpu_and(cpu, mask, cpu_online_mask)

map->cpus[i++] = cpu;

if (i) {

map->len = i;

} else {

kfree(map);

map = NULL;

}

mutex_lock(&rps_map_mutex);

old_map = rcu_dereference_protected(queue->rps_map,

mutex_is_locked(&rps_map_mutex));

rcu_assign_pointer(queue->rps_map, map);

if (map)

static_key_slow_inc(&rps_needed);

if (old_map)

static_key_slow_dec(&rps_needed);

mutex_unlock(&rps_map_mutex);

if (old_map)

kfree_rcu(old_map, rcu);

free_cpumask_var(mask);

return len;

}【文章福利】小编推荐自己的Linux内核技术交流群:【977878001】整理一些个人觉得比较好得学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!!!前100进群领取,额外赠送一份价值699的内核资料包(含视频教程、电子书、实战项目及代码)内核资料直通车:Linux内核源码技术学习路线+视频教程代码资料学习直通车:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈-学习视频教程-腾讯课堂2.2 设备流表 rps_dev_flow_table设备流表 rps_dev_flow_table (include/linux/netdevice.h)。mask 成员是类型为 struct rps_dev_flow 的数组的大小,也就是流表项的数目,通过配置文件 /sys/class/net/(dev)/queues/rx-(n)/rps_flow_cnt 进行指定的。当设置了配置文件,那么内核就会获取到数据,并初始化网卡硬件接收队列中的设备流表成员rps_flow_table(初始化过程函数 store_rps_dev_flow_table_cnt)。/*

* The rps_dev_flow_table structure contains a table of flow mappings.

*/

struct rps_dev_flow_table {

unsigned int mask;

struct rcu_head rcu;

struct rps_dev_flow flows[0];

};rps_dev_flow 类型的实例则主要包括存放着上次处理该流中报文的 cpu 以及所在 cpu 私有数据对象 softnet_data 的 input_pkt_queue 队列尾部索引的两个成员。/*

* The rps_dev_flow structure contains the mapping of a flow to a CPU, the

* tail pointer for that CPU's input queue at the time of last enqueue, and

* a hardware filter index.

*/

struct rps_dev_flow {

u16 cpu;

u16 filter;

unsigned int last_qtail;

};2.2.1 设备流表初始化函数 store_rps_dev_flow_table_cnt static ssize_t store_rps_dev_flow_table_cnt(struct netdev_rx_queue *queue,

const char *buf, size_t len)

{

unsigned long mask, count;

struct rps_dev_flow_table *table, *old_table;

static DEFINE_SPINLOCK(rps_dev_flow_lock);

int rc;

if (!capable(CAP_NET_ADMIN))

return -EPERM;

rc = kstrtoul(buf, 0, &count);

if (rc < 0)

return rc;

if (count) {

mask = count - 1;

/* mask = roundup_pow_of_two(count) - 1;

* without overflows...

*/

while ((mask | (mask >> 1)) != mask)

mask |= (mask >> 1);

/* On 64 bit arches, must check mask fits in table->mask (u32),

* and on 32bit arches, must check

* RPS_DEV_FLOW_TABLE_SIZE(mask + 1) doesn't overflow.

*/

#if BITS_PER_LONG > 32

if (mask > (unsigned long)(u32)mask)

return -EINVAL;

#else

if (mask > (ULONG_MAX - RPS_DEV_FLOW_TABLE_SIZE(1))

/ sizeof(struct rps_dev_flow)) {

/* Enforce a limit to prevent overflow */

return -EINVAL;

}

#endif

table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(mask + 1));

if (!table)

return -ENOMEM;

table->mask = mask;

for (count = 0; count <= mask; count++)

table->flows[count].cpu = RPS_NO_CPU;

} else {

table = NULL;

}

spin_lock(&rps_dev_flow_lock);

old_table = rcu_dereference_protected(queue->rps_flow_table,

lockdep_is_held(&rps_dev_flow_lock));

rcu_assign_pointer(queue->rps_flow_table, table);

spin_unlock(&rps_dev_flow_lock);

if (old_table)

call_rcu(&old_table->rcu, rps_dev_flow_table_release);

return len;

}2.3 全局的数据流表(rps_sock_flow_table)该表中包含了数据流期望被处理的 CPU,是当前处理流中报文的应用程序所在的 CPU。全局 socket 流表会在调 recvmsg,sendmsg (inet_accept(), inet_recvmsg(), inet_sendmsg(), inet_sendpage() and tcp_splice_read())被设置更新。最终调用函数 rps_record_sock_flow 来更新 ents 数组的。/*

* The rps_sock_flow_table contains mappings of flows to the last CPU

* on which they were processed by the application (set in recvmsg).

* Each entry is a 32bit value. Upper part is the high-order bits

* of flow hash, lower part is CPU number.

* rps_cpu_mask is used to partition the space, depending on number of

* possible CPUs : rps_cpu_mask = roundup_pow_of_two(nr_cpu_ids) - 1

* For example, if 64 CPUs are possible, rps_cpu_mask = 0x3f,

* meaning we use 32-6=26 bits for the hash.

*/

struct rps_sock_flow_table {

u32 mask;

u32 ents[0] ____cacheline_aligned_in_smp;

};mask 成员存放的就是 ents 这个数组的大小,通过配置文件 /proc/sys/net/core/rps_sock_flow_entries 的方式指定的。2.3.1 全局流表更新函数 ( rps_record_sock_flow )每次用户程序读取数据包都会更新 rps_sock_flow_table 表,保证其中的 CPU号是最新的。// include/linux/netdevice.h

static inline void rps_record_sock_flow(struct rps_sock_flow_table *table,

u32 hash)

{

if (table && hash) {

unsigned int index = hash & table->mask;

u32 val = hash & ~rps_cpu_mask;

/* We only give a hint, preemption can change CPU under us */

val |= raw_smp_processor_id();

if (table->ents[index] != val)

table->ents[index] = val;

}

}3 RPS 工作流程  rps 和 rfs 的工作都是在软中断上下文中执行,因为该阶段处理工作是和进程无关的,又和底层硬件剥离了。能够实现网络协议栈软中断的负载均衡。rps 实现的总流程如下:将数据包加入其它CPU的接收队列,其它CPU将会在自己的软中断中执行 process_backlog,process_backlog 将会接收队列中的所有数据包,并调用 __netif_receive_skb() 执行后续工作。Linux是通过配置文件的方式指定哪些cpu核参与到报文的分发处理,配置文件存放的路径是:/sys/class/net/(dev)/queues/rx-(n)/rps_cpus。设置好该配置文件之后,内核就会去获取该配置文件的内容,然后根据解析的结果生成一个用于参与报文分发处理的cpu列表,这样当收到报文之后,就可以建立起 hash-cpu 的映射关系了,解析函数为store_rps_map,结果存放在 rps_map 中。rps 会根据数据包的hash值(报文hash值,可以由网卡计算得到,也可以是由软件计算得到,具体的计算也因报文协议不同而有所差异,如tcp报文的hash值是根据四元组信息,即源ip、源端口、目的ip和目的端口进行hash计算得到的)来选择CPU,选目标cpu的动作具体的实现函数是get_rps_cpu,其定义在net/core/dev.c文件中, 实现从cpu列表中获取核号的:staticint get_rps_cpu(struct net_device *dev, struct sk_buff *skb, structrps_dev_flow **rflowp)rps 是单纯用报文的hash值来分发报文,而不关注处理该流中报文的应用程序所在的cpu。那么何时调用函数get_rps_cpu呢?支持 NAPI 接口的驱动而言,在上半部主要就是将设备加入到 cpu 的私有数据 softnet_data 的待轮询设备列表中,下半部主要就是调用poll回调函数从网卡缓冲区中获取报文,然后向上给协议栈。函数 get_rps_cpu 会被 netif_rcv_skb 调用,获取到用于分发处理报文的目标 cpu,如果目标 cpu 有效,则会调用 enqueue_to_backlog()(net/core/dev.c )函数,尝试将报文加入到cpu私有数据对象 softnet_data 的 input_pkt_queue 队列中。数据对象 softnet_data 中有 backlog 的成员,该成员类型为 struct napi_struct,在函数 enqueue_to_backlog() 中,会将 backlog 加入到 cpu 的待轮询设备列表中,并触发软中断,在软中断处理函数 net_rx_action() 中会依次遍历待轮询设备列表中的设备,并调用设备注册的 poll 回调函数来进行报文处理。从 input_pkt_queue 队列该队列中取出报文,然后调用 __netif_receive_skb() 上报文送至协议栈进行后续处理。如果没有rps的处理流程(现在一般均采用的是NAPI收包方式),软中断处理函数net_rx_action()会调用网卡驱动注册的poll回调函数从网卡中获取到报文数据后就将报文数据上送至协议栈。对于有rps的处理流程,软中断处理函数 net_rx_action() 会调用网卡驱动注册的 poll 回调函数从网卡中获取到报文数据后,暂时不直接送至协议栈,而是选择一个目标cpu,将报文放到该cpu私有数据对象 softnet_data 的 input_pkt_queue 队列中,待对列 input_pkt_queue 满了之后,就将该cpu对应的backlog设备对象加入到该cpu的待轮询设备列表中,并触发软中断,软中断处理函数轮询到 backlog 设备对象后,调用poll回调函数 process_backlog() 从 input_pkt_queue 队列中取出报文,再上送至协议栈。如下图左边是没有使用 rps,右边是使用 rps。4 RFS 工作流程 RFS 在 RPS 上的改进,通过RPS可以把同一流的数据包分发给同一个 CPU 核来处理,但是有可能发给该数据流分发的 CPU 核和执行处理该数据流的应用程序的CPU核不是同一个。 当用户态处理报文的 cpu 和内核处理报文软中断的 cpu 不同的时候,就会导致 cpu 的缓存不命中。而 rfs 就是用来处理这种情况的,rfs 的目标是通过指派处理报文的应用程序所在的 cpu 来在内核态处理报文,以此来增加 cpu 的缓存命中率。rfs 和 rps 的主要差别就是在选取分发处理报文的目标cpu上。rfs 实现指派处理报文的应用程序所在的cpu来在内核态处理报文主要是依靠两个流表来实现的:一个是设备流表 rps_dev_flow_table,记录的是上次在内核态处理该流中报文的cpu;一个是全局的socket流表 rps_sock_flow_table,记录报文期望被处理的目标cpu。4.1 负载均衡策略 get_rps_cpu()【核心】/*

* get_rps_cpu is called from netif_receive_skb and returns the target

* CPU from the RPS map of the receiving queue for a given skb.

* rcu_read_lock must be held on entry.

*/

static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,

struct rps_dev_flow **rflowp)

{

const struct rps_sock_flow_table *sock_flow_table;

struct netdev_rx_queue *rxqueue = dev->_rx;

struct rps_dev_flow_table *flow_table;

struct rps_map *map;

int cpu = -1;

u32 tcpu;

u32 hash;

if (skb_rx_queue_recorded(skb)) {

u16 index = skb_get_rx_queue(skb);//获取网卡的rx队列

if (unlikely(index >= dev->real_num_rx_queues)) {

WARN_ONCE(dev->real_num_rx_queues > 1,

"%s received packet on queue %u, but number "

"of RX queues is %u\n",

dev->name, index, dev->real_num_rx_queues);

goto done;

}

rxqueue += index;

}

/* Avoid computing hash if RFS/RPS is not active for this rxqueue */

flow_table = rcu_dereference(rxqueue->rps_flow_table);

// RPS 逻辑

map = rcu_dereference(rxqueue->rps_map);

if (!flow_table && !map)

goto done;

skb_reset_network_header(skb);

hash = skb_get_hash(skb);

if (!hash)

goto done;

sock_flow_table = rcu_dereference(rps_sock_flow_table);

// RFS 逻辑

if (flow_table && sock_flow_table) {

struct rps_dev_flow *rflow;

u32 next_cpu;

u32 ident;

/* First check into global flow table if there is a match */

ident = sock_flow_table->ents[hash & sock_flow_table->mask];

if ((ident ^ hash) & ~rps_cpu_mask)

goto try_rps;

next_cpu = ident & rps_cpu_mask;

/* OK, now we know there is a match,

* we can look at the local (per receive queue) flow table

*/

rflow = &flow_table->flows[hash & flow_table->mask];

tcpu = rflow->cpu;

/*

* If the desired CPU (where last recvmsg was done) is

* different from current CPU (one in the rx-queue flow

* table entry), switch if one of the following holds:

* - Current CPU is unset (>= nr_cpu_ids).

* - Current CPU is offline.

* - The current CPU's queue tail has advanced beyond the

* last packet that was enqueued using this table entry.

* This guarantees that all previous packets for the flow

* have been dequeued, thus preserving in order delivery.

*/

if (unlikely(tcpu != next_cpu) &&

(tcpu >= nr_cpu_ids || !cpu_online(tcpu) ||

((int)(per_cpu(softnet_data, tcpu).input_queue_head -

rflow->last_qtail)) >= 0)) {

tcpu = next_cpu;

rflow = set_rps_cpu(dev, skb, rflow, next_cpu);

}

if (tcpu < nr_cpu_ids && cpu_online(tcpu)) {

*rflowp = rflow;

cpu = tcpu;

goto done;

}

}

try_rps:

if (map) { //RPS 逻辑

tcpu = map->cpus[reciprocal_scale(hash, map->len)];

if (cpu_online(tcpu)) {

cpu = tcpu;

goto done;

}

}

done:

return cpu;

}rfs 的负载均衡策略通过判断报文的 hash 值(流 hash 值)所对应的两个流表(设备流表和全局socket流表)中的记录的cpu是否相同来实施的。1、如果当前CPU表(设备流表)对应表项未设置或者当前CPU表对应表项映射的 CPU 核处于离线状态,那么使用期望CPU表(全局流表)对应表项映射的CPU核。2、如果当前CPU表对应表项映射的CPU核和期望CPU表对应表项映射的CPU核为同一个,就使用这一个核。3、如果当前CPU表对应表项映射的CPU核和期望CPU表对应表项映射的CPU核不为同一个:a) 如果同一流的前一段数据包未处理完,必须使用当前CPU表对应表项映射的CPU核,避免乱序。b) 如果同一流的前一段数据包已经处理完,那么则可以使用期望CPU表对应表项映射的CPU核。4、如果 设备流表和 全局流表 均为设置,则使用 rps 策略中的CPU流表。5、如果 rps表 ,设备流表、全局流表均为设置,返回无效 cpu_index(-1)。5 RPS/RFS 配置方法在大于等于2.6.35版本的Linux kernel上可以直接使用,默认都是关闭的。RPS设置:RPS指定哪些接收队列需要通过rps平均到配置的cpu列表上。/sys/class/net/(dev)/queues/rx-(n)/rps_cpusRFS设置:每个队列的数据流表总数可以通过下面的参数来设置:该值设置成rps_sock_flow_entries/N,其中N表示设备的接收队列数量。/sys/class/net/(dev)/queues/rx-(n)/rps_flow_cnt全局数据流表(rps_sock_flow_table)的总数,红帽是建议设置成 32768,一般设置成最大并发链接数量/proc/sys/net/core/rps_sock_flow_entries原文链接:http://t.csdn.cn/t6RC7发布于 2022-07-21 20:59LinuxLinux 内核Linux 运维​赞同 2​​添加评论​分享​喜欢​收藏​申请