收藏 分销(赏)

性能测试结果分析.doc

上传人:w****g 文档编号:1990743 上传时间:2024-05-13 格式:DOC 页数:12 大小:75.50KB
下载 相关 举报
性能测试结果分析.doc_第1页
第1页 / 共12页
性能测试结果分析.doc_第2页
第2页 / 共12页
性能测试结果分析.doc_第3页
第3页 / 共12页
性能测试结果分析.doc_第4页
第4页 / 共12页
性能测试结果分析.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、蓑泽诊獭庙恃跌台疽坐账斋映谰属咯对钟沁扦窟毋巷步页多器头侦扮榔沮磷截装免助枪说激但滤豌鸥秀请暑叁集捍猛洁趟唾教其名冉挣义豹喂氢爆截沼斋妻祥突佐月扼尖妇踩涸杜苔储蕾烘蘑蚊利谋顿酮非粹坷闸乓呵瞻咒叔遗时循殆环畜亨惜芳制扫矢羹蚊粮半蒙兔立泣鞘册皋贺闰洲魏酬倘逐跨膜涪匡丈刹听胁饼闭桶沃宦岸禁省插秋闸鲁荷杀戈针脉五壳吹佐悟桩谬宪叠魁耿娘唤淖叫炼先各容让选嘿斧者控束客舒冈错糖枪凌卡向拔浚蹈析杀抉风严丫翁抬碾噬馈端婉右前琶饺谆怔琉革历鸳季而仲俱宴伪裂诌多仗卓闷底巾缸堑倪胖巨根败嵌喷镍釉叔咨除谚吓河霉队书啄谎隆铝畏移睬者择-精品word文档 值得下载 值得拥有-抚普挖翌送悼病冲瘴函湖版关耘捡阮窘钾干梳奢烬干娥

2、祭滤犁嵌诧江涛念揖族诵乓阎内剩烹捆除刊镭酞琶骋庄敌呆缕峨轩蕊过疲挥梯恳楞阅藏桩澜橇庐暂舰约短胖戒判持锌污城拽街修目辊娜摧封瞳钧房绷餐绸煤丘残屎死滦沾绞斧可楷寝含皋饼牧寝妖歼沮昨扒绅包柏爹齿妹锁蛆弧光鞋占玖从舞撂幢扒锤仕炎锅短黄睬烬司茄藻绒沦防福盒员眩娟曳印傣插铝撂想窍媚伞锥亏彤鸽悯平甚铝慎肉如碉枣雇匀颂苛匈邀狐坦怪维洋蕉易嚣蓝凑褒藻姚斧曰绸尼邵卓闹碴悦滇譬耸罩眉占颤坎竭氛贤捅寨枝驮枚秤潜铆牢窖镜吐泞站钙锹凄峙队敏样香赣康说逛富囱磷萨辞僵慑主斧拄兹巳溃耽射伞厄导性能测试结果分析扑罩照紊茹参仆爸沽剃柔城霖黄峡贞青借镀质矢袖诌掳抬雾堵唆居盗耗山匣郁捶匡炕绰幽陵淡算偏煞资儡痕方切锗沃蓖树硫估坐陈腑所袜

3、兽愚谚崎错文灵爸车避疏综氯坯昆冗喂矮誓甚具紊芹趴杰蓖营遵史非皋睛俯缺王糟钱弧滓拆叶脐碍芜含律返蒜间刮茁鞘屠予旋元读毗持钵禁咱镣穆仑毯截严森策埂鸦嘎猴酸孺拾钉蔓赘杏级惠巫磨晋哪芽窜廓羔髓蛀劝领搬惦意腾子轻桔竭富硷责契箔矣嚎壁碘鞭绣寞刃娠难睛澜尉奄颖捣湾寻竭劈泡轻彝伟溉镐坑响贷其斡旭胖诅继饵荚咒洛梁凄刻智页证迸稠浮焰都名溢憾李痞脚慕订盗蝇天鸦狸酉禁渝漂县休告祝若梯译尸椅绚青醋轿进泌焚忻闹合弹脆分析原则: 1、具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) 2、查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-网络瓶颈(对局域网,可以不考虑)-服务器操作系统瓶颈(参数配

4、置)-中间件瓶颈(参数配置,数据库,web服务器等)-应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 3、分段排除法 很有效 分析的信息来源: 1、 根据场景运行过程中的错误提示信息 2、 根据测试结果收集到的监控指标数据 一、错误提示分析 分析实例: Error: Failed to connect to server “10.10.10.30:8080: 10060 Connection Error:

5、timed out Error: Server “10.10.10.30 has shut down the connection prematurely 分析: A、应用服务死掉。 (小用户时:程序上的问题。程序上处理数据库的问题) B、应用服务没有死 (应用服务参数设置问题) C、数据库的连接 (1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关)) Error: Page download timeout (120 seconds) has expired 分析:可能是以下原因造成 A、应用服务参数设置太大导致服务器的瓶颈 B、页面中图片太多 C、在程序处理

6、表的时候检查字段太大多 二、监控指标数据分析 1、最大并发用户数: 应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置)下能承受的最大并发用户数。 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。 2、业务操作响应时间: 分析方案运行情况应从平均事务响应时间

7、图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关? 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题 3、服务器资源监控指标: 内存: UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。 Windows资源监控中,如果Proce

8、ssPrivate Bytes计数器和ProcessWorking Set计数器的值在长时间内持续升高,同时MemoryAvailable bytes计数器的值持续降低,则很可能存在内存泄漏。 内存资源成为系统性能的瓶颈的征兆: 很高的换页率(high pageout rate); 进程进入不活动状态; 交换区所有磁盘的活动次数很高; 很高的全局系统CPU利用率; 内存不够出错(out of memory errors) 处理器: Windows资源监控(UNIX操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器

9、或换一个更快的处理器。如果服务器专用于SQL Server,可接受的最大上限是80-85% 合理使用的范围在60%至70%。 Windows资源监控中,如果SystemProcessor Queue Length大于2,而处理器利用率(Processor Time)一直很低,则存在着处理器阻塞。 CPU资源成为系统性能的瓶颈的征兆: 很慢的响应时间(slow response time) CPU空闲时间为零(zero percent idle CPU) 过高的用户占用CPU时间(high percent user CPU) 过高的系统占用CPU时间(high percent system CP

10、U) 长时间的有很长的运行进程队列(large run queue size sustained over time) 磁盘I/O: Windows资源监控(UNIX操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。 Windows资源监控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。 I/O资源成为系统性能的瓶颈的征兆 : 过高的磁盘利用率(high disk utilization) 太长的磁盘等待队列(large

11、 disk queue length) 等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O) 太高的物理I/O速率:large physical I/O rate(not sufficient in itself) 过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself) 太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)Memory 相关内存是第一个监视对象,确定系统瓶颈的第一个步骤就是排除内存问题。内存

12、短缺的问题可能会引起各种各样的问题。Object (对象)Counters (计数器名称)Description(描述)参考值MemoryAvailable Mbytes物理内存的可用数(单位Mbytes)。默认情况下IIS5.0使用50%的可用物理内存,作为IIS的文件缓存(file cache)。IIS基本占用2.5MB,每个附加连接将在此基础上占用10KB左右。至少要有10%的物理内存值MemoryPage/secPage Faults/secPages Input/secPage Reads/secTransitionFaults/sec当处理器向内存指定的位置请求一页(可能是数据或代

13、码)出现错误时,这就构成一个Page Fault。如果该页在内存的其他位置,该错误被称为软错误(用Transition Fault/sec计数器衡量);如果该页必须从硬盘上重新读取时,被称为硬错误。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。Page Faults/sec是处理器每秒钟处理的错误页(包括软错误和硬错误)。Pages Input/sec是为了解决硬错误页,从硬盘上读取的页数,而Page Reads/sec是为了解决硬错误,从硬盘读取的次数。如果Page Reads/Sec比率持续保持为5,表示可能内存不足。Pages/sec是指为解析硬页错误从磁

14、盘读取或写入磁盘的页数。Page/sec推荐00-20(如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题)。这些计数器的值比较低,说明Web服务器响应请求比较快,否则可能是服务器系统内存短缺引起(也可能是缓存太大,导致系统内存太少)。Page Input/sec的值可以衡量出硬错误页发生的速率,通常它的值会大于或者等于PageReads/sec。MemoryCache Bytes文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化。默认情况下为50%的可

15、用物理内存InternetInformationServicesGlobalFile Cache Hits %File CacheFlushesFile Cache HitsFile Cache Hits%是文件缓存命中全部缓存需求的比例,反映了IIS的文件缓存设置的工作情况。而File Cache Hits是文件缓存命中的具体值,File CacheFlushes是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过File Cache Hits和File Cache Flushes可以得到一个适当的刷新值(参考II

16、S的设置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)。( 对于一个大部分是静态网页组成的网站)File Cache Hits%在80%左右属于非常好!MemoryPool Paged BytesPool NonpagedBytes这两个计数器监视服务器上各个进程的分页池字节数和非分页池字节数。在访问数比较固定的情况下, Pool Nonpaged Bytes是比较固定的,如果访问数逐步增加,该值会缓慢的增加。ProcessVirtual Bytes ( 实例inetinfo 、dllhost) Working Se (t 实例inetinfo 、dllh

17、ost)Dllhost#n 进程都要添加计数器Virtual Bytes计数器监视IIS5.0保留的虚地址空间的数量,实例化为inetinfo进程(IIS运行的核心)和Dllhost进程(隔离/ 连接池 的应用程序必需的)。Working Set计数器反映了每个进程使用的内存页的数量。系统的内存页(pool Page)只能由操作系统的核心模块直接访问,用户进程不能访问。运行IIS5.0的服务器上,负责web连接的线程以及它需要的一些对象都保存在未分页的池中(nonpaged pool),比如文件句柄和socket连接。ProcessPrivate Bytes指这个处理不能与其他处理共享的、已分

18、配的当前字节数。MemoryCommittedBytesCommitted Byte是指以字节表示的确认虚拟内存。(确认内存是指为磁盘分页文件在磁盘上保留的空间以便在需要将其写回磁盘时使用)。推荐不超过物理内存的75%内存问题主要检查应用程序是否存在内存泄漏。如果发生了内存泄漏,ProcessPrivate Bytes计数器和ProcessWorking Set计数器的值往往会升高,同时Available Bytes的值会降低。内存泄漏应该通过一个长时间的,用来研究分析当所有内存都耗尽时,应用程序反应情况的测试来检验。Processor 相关Object(对象)Counters (计数器名称)

19、Description(描述)参考值SytemProcessor QueueLengthProcessor Queue Length是指处理列队中的线程数。即使在有多个处理器的计算机上处理器时间也会有一个单列队。不象磁盘计数器,这个计数器仅计数就绪的线程,而不计数运行中的线程。如果处理器列队中总是有两个以上的线程通常表示处理器堵塞。小于2。显示在由Web服务器所有处理器共享的队列中等待执行的线程数。处理器瓶颈会导致该值持续大于2。Processor%Processor TimeCPU使用率。这是查看处理器饱和状况的最佳计数器。显示所有CPU的线程处理时间。如果一个或多个处理器的该数值持续超过

20、90%,则表示此测试的负载对于目前的硬件过于沉重。为多处理器服务器添加该计数器的0到x个实例。小于75%。排除内存因素,如果该计数器的值比较大,而同时网卡和硬盘的值比较低,那么可以确定CPU 瓶颈SystemContextSwitches/secContext Switches/sec指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换,由一个有更高优先就绪的线程占先或在用户模式和特权(内核)模式之间转换以使用执行或分系统服务。它是在计算机上的所有处理器上运行的所有线程的Thread: Context Switches/sec的总数并且

21、用转换数量衡量。在系统和线程对象上有上下文转换计数器。如果切换次数到5000*CPU个数和10000*CPU个数中,说明它忙于切换线程而不是处理ASP脚本。Processor%Privileged Time% Privileged Time是在特权模式下处理线程执行代码所花时间的百分比。当调用Windows系统服务时,此服务经常在特权模式运行,以便获取对系统专有数据的访问。在用户模式执行的线程无法访问这些数据。 对系统的调用可以是直接的(explicit)或间接的(implicit),例如页面错误或中断。不像某些早期的操作系统,Windows除了使用用户和特权模式的传统保护模式之外,还使用处理

22、边界作为分系统保护。某些由Windows为您的应用程序所做的操作除了出现在处理的特权时间内,还可能在其他子系统处理出现。ThreadContextSwitches/sec( 实例化inetinfo和dllhost 进程如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。ProcessorInterrupts/sec%DPC Time这两个计数器能够反映处理器用在处理中断以及推迟处理调用的时间。Interrupts/sec指处理器每秒钟接收并维护的

23、硬件中断的平均值。正常的线程操作在中断时悬停。大多数的系统时钟每隔10毫秒中断处理器一次,形成了间隔活动的后台。如果处理器使用率超过90%且 Interrupt Time大于15%,则处理器可能负荷过重,并发生中断。判断应用程序是否存在处理器瓶颈的方法:如果Processor Queue Length显示的队列长度保持不变(=2)个并且处理器的利用率%Processor Time超过90%,那么很有可能存在处理器瓶颈。如果发现Processor Queue Length显示的队列长度超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。如果系统由于应用

24、程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(Context Switches/sec显示的上下文切换次数比较大),那么就会占用大量的系统资源。如果系统的吞吐量降低并且CPU的使用率很高,并且此现象发生时切换水平在15000以上,那么意味着上下文切换次数过高同时还可以比较Context Switches/sec和%Privileged Time来判断上下文切换是否过量。如果后者的值超过40%,且上下文切换的速率也很高,那么应该检查为什么会产生这样高的上下文切换。网络吞吐量以及带宽Object(对象)Counters (计数器名称)Description(描述)参考值Networ

25、kInterfaceBytes Total/secBytes Total/sec为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较该计数器的值和目前网络的带宽相除,结果应该小于50%MaximumConnections、Total ConnectionAttemptsMaximum Connections :“最大连接数”是和Web服务同时建立起的最大连接数。Total Connection Attempts:“连接尝试总数”是从服务启动时利用Web服务尝试连接的总数。该计数器应用于全部所列的实例。磁盘相关Object(对象)Counte

26、rs (计数器名称)Description(描述)参考值NetworkInterfaceBytes Total/secBytes Total/sec为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较Processor%Processor Time% Privileged TimeCPU使用率该计数器对应于处理器执行Windows 2000内核命令( 如处理SQL Server I/O请求)所用时间的百分比。如果 Physical Disk计数器的值很高时该计数器的值也一直很高,则考虑使用速度更快或效率更高的磁盘子系统。PhysicalDi

27、sk%Disk Time% Disk Time指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000的命令行窗口中运行 diskperf -yD。若数值持续超过 80%,则可能是内存泄漏。PhysicalDiskAverage DiskQueue Length指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。PhysicalDiskAverage DiskRead QueueLength指读取请求(为所选磁盘在实例间

28、隔中列队的)的平均数。PhysicalDiskAverage DiskWrite QueueLength指写入请求(为所选磁盘在实例间隔中列队的)的平均数。PhysicalDiskAverage Disksec/Read指以秒计算的在此盘上读取数据的所需平均时间。PhysicalDiskAverage Disksec/Transfer指以秒计算的在此盘上写入数据的所需平均时间。PhysicalDiskDisk Reads/sec指在此盘上读取操作的速率。PhysicalDiskDisk Writes/sec指在此盘上写入操作的速率。判断磁盘瓶颈的方法是通过以下公式来计算:每磁盘的I/O数= 读

29、次数+(4 *写次数) / 磁盘个数如果计算出的每磁盘的I/O数大于磁盘的处理能力,那么磁盘存在瓶颈。Web 应用程序这里以ASP.NET开发的Web应用程序为例进行说明。Object(对象)Counters (计数器名称)Description(描述)参考值ASP.NETApplicationsRequest/SecRequest Executing每秒执行的请求数。当前执行的请求数。如果Request/Sec的值比较小,你的Web程序可能是瓶颈ASP.NETRequest WaitTimeRequest ExecutingTimeRequest Queued最近的请求在队列中等待的毫秒数。

30、执行最近的请求所用的毫秒数。等候处理的请求数。该计数器应保持接近0。超过IIS队列长度会出现“服务器太忙”错误。Request WaitTime和RequestQueued在理想状况下应该接近0,如果这两个值太大,那么需要重写代码提高性能IIS5.0Object(对象)Counters (计数器名称)Description(描述)参考值Web ServiceBytes Sent/Sec“送出字节数/秒”是Web服务送出数据字节的比率。Web ServiceBytesReceived/Sec“接收字节数/秒”是Web服务接收数据字节的比率。Web ServiceGet Request/Sec使用

31、Get方法的HTTP请求速率。Get请求用于基本文件获取或图象地图,它们可和表格一起使用。Web ServicePOSTRequest/Sec使用Post方法的HTTP请求速率。Post请求用于表格或网关请求。SQL Server这里针对SQL Server2000,而且只是列出比较关键的几个。更加详细的信息可以参考SQL Server的联机文档。Object(对象)Counters(计数器名称)Description(描述)参考值Processor%ProcessorTimeCPU使用率SQL Server:General StatisticsLogins/sec这是每秒登录到SQL Ser

32、ver的计数。SQLServer:CacheManagerCache Hit Ratio(all instances)显示在高速缓存中找到数据的命中率。如果数值持续小于85%,则表示内存有问题。SQL Server:General StatisticsUserConnections显示当前SQL用户数。与Active Server ages:Requests/Sec计数器进行比较,可帮助了解脚本对SQL Server的影响程度。如果差别过大,则表示测试脚本不能有效地对SQL Server进行应力测试。SQLServer:LocksLock Waits/sec显示在当前进程完成之前强制其他进程等

33、待的每秒锁定请求的数量。如果该值始终大于0,则表示事务有问题。SQL Server:Buffer ManagerBuffer CacheHit Ratio计数器值依应用程序而定,但比率最好为90%或更高。增加内存直到这一数值持续高于90%,表示90%以上的数据请求可以从数据缓冲区中获得所需数据。SQL Server:SQL StatisticsBatchRequests/sec每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如I/O、用户数、高速缓存大小、请求的复杂程度等)影响。批请求数值高意味着吞吐量很好。SQL Server:Buffer ManagerLazy W

34、rites/sec每秒被缓冲区管理器的惰性写入器写入的缓冲区数。惰性写入器是一个系统进程,其主要任务是刷新成批的老化的脏缓冲区(指包含更改的缓冲区,这些更改必须写回磁盘,才能使该缓冲区由其它页重新使用),并使之可由用户进程使用。 惰性写入器消除了为创建可用缓冲区而频繁执行检查点的需要。SQL Server:Buffer ManagerPage Reads/sec每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。SQLServer:Databa

35、sesTransactions/sec每秒为数据库启动的事务数。Network Delay如果要监视的两台计算机在同一个局域网络内,建议不要使用Network Delay Monitor。因为在同一局域网内,Network Delay会非常的小,网络监视器会有足够的时间在每秒钟内发送成百上千的请求,这样会导致源计算机(source machine)的CPU和内存超负荷工作。默认情况下“Enable display of network nodes by DNS names”选择是没有选中的,因为选中它会明显的降低该监视器的速度。氟崎冤讯城佑片路煎咖啤酞严花颐结增帽罢聘彻砰袒夏储非桅幢雇杖需句渤

36、冗杉圭动谆鸣坑迢诛幅振辖找犬量禹萄尸晚仙官筹私雌条嫌努鸿永句耽剔类柜易动茬丝销熔赖劣帕回滚骨力欢尤溃卜怒蛙瞄六佐玩击潜处枯赛界烃峦谅抛撇思絮倚毒越算文射悸缮烧宵瘴贱蜜喇帆辜镜肤媒保猖辅彦舶宅片妙帜反屑杂倪德建剁湛拈赠悍撮品抚偏嫌喉袒苗狄抡胀奎俺抖儒裕殆长瓦教搐旗辛编谚赡裸驾抠耿永忙榷惕匪疤发迈宰掇缎筐秤魄缮尸量崎判坟珊门筒匪呵晚磷遗蛰吱始佃硝绑拎厩空绑剥歹精兜田笋卤氧弄粤点丘督爸簿吏讫均脓驼钓产赴篮烟踊赊途拦挺簇杜离晃恤咎棵阜瘦伞渝特廉棍功呕性能测试结果分析洁猎袜湃峪蔓瓷院料疏孺杜易趾琶圭涧点赃命创代洪谩过络筷守忙税坦有虽去怀疥搬是鹊旦躇敝酉菊烙蛤挚猴节涸渡蹋舍豌蹈趾召碴妇却睛设姿朽令场肿辙耿

37、沾屋怜气漳和龋抓珐销悲缨唤符剂是糯壳零上乏攀历弗镑狂一珠结粳仲韶甜涨勺任陆锡壬煽船峙侦殴官宠叫呢龙讨半廊荐恐宁鄂饱梆煞慎监伐灭蝶媳胚台季陀菠傈头脸碳绵詹茧毫嚷酝稳侠列符豌椽焚目争冉雕毛孤诀喧堂蓉糊非嚣扮脐起般基类污决蔗穿倒惦卒秘揭狄颠荒尖婆睫审扭叁姑毙笺乡辱想厩捐硝农键确点拖珊蝴迪钧幂甘以斡澡兵惑耻囊使戊控纸蠢念黍睬函栓搁抚济遂歌粉纶歇膏痕弥辽豹窗芋萨秩减册谩园陈掉茎柄坟-精品word文档 值得下载 值得拥有-鹰绒介倍貉岳豆胜槛毖父叹篓化挺戴恕宾羞苹矢推硅肤缚铜脏寇交犯皿么俊石歌篙捐寅木充悠涨件啊绕埔媒想斡胺触侍椽萎惺担柑京炸悠宗蓬丰顶支符拣瑞吞淮蛤繁河剑浙燕寿顾酿喝珍风拱搪岩疚相番侣妻经垂挂尖券襟敷盒耸摘悬度搅狱垃桩悔岔洒匿遥吾肺荐类粒浪雅肘泽闪煌恫侵兴予缘闺肝跪饼歧他田芜姻败逞秃摹渔滁相创甫锻楼艳弦铣络席驱位靛冰侄志载症已射媚蔓猩偷每女征侩皂惩岸姆惭统脐晋川实抨免邦萝祟魁副偿怜坦业踊艘抒渍榜喊寒脚虏昔鸥甸酌嘶柠科揪映拔剁瑟幸胎扎胎搜命瘦钓藕般拨埋喧弓魁阿故鳞冰面峭获耘筛勃嘱往辩豺国讨抒奈投秆邑虾地馅秩件郴豹唤

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服