51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: 楠族开心果
打印 上一主题 下一主题

[转贴] 性能测试和优化

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    21#
     楼主| 发表于 2011-1-27 09:19:19 | 只看该作者
    Chrome的Web性能分析扩展 Speed Tracer

    Speed Tracer是一款功能强大的Web性能分析扩展,可以对网页中的元素进行全方位的检测分析,找出你网页运行缓慢的罪魁祸首,以方便开发者优化代码,功能很强大。

    Speed Tracer 是能帮助您发现并解决网络应用程序中的性能问题。借助Speed Tracer,您可以更好地了解在应用程序中的哪些地方消耗了时间,并可以解决JavaScript语法分析和执行、CSS式样以及更 多方面的问题。



    授权协议: 未知
    操作系统: 跨平台  
    收录时间: 2009年12月13日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    22#
     楼主| 发表于 2011-1-27 09:19:39 | 只看该作者
    网站压力测试工具 Webbench

    Webbench是有名的网站压力测试工具,它是由 Lionbridge公司(http://www.lionbridge.com)开发。

    Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

    二、Freebsd 上安装 webbench

    (1) 在FreeBSD下的用Ports安装方法:

    #cd  /usr/ports/benchmarks/webbench#make install clean记得安装成功以后运行一下rehash命令,刷新一下系统命令

    #rehash二、webbench使用

    #webbench -? (查看命令帮助)

    常用参数 说明,-c 表示客户端数,-t 表示时间

    测试实例:

    #webbench -c 500  -t  30   http://127.0.0.1/phpionfo.php测试静态图片

    #webbench -c 500 -t 30 http://127.0.0.1/test.jpg

    四、webbench测试结果

    Webbench – Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://127.0.0.1/phpionfo.php500 clients, running 30 sec.Speed=3230 pages/min, 11614212 bytes/sec.Requests: 1615 susceed, 0 failed.分析:每秒钟响应请求数:3230 pages/min,每秒钟传输数据量11614212 bytes/sec.

    Ubuntu 下安装使用
    1、安装依赖包CTAGS

    apt-get install ctags2、安装 Webbench

    下载程序: webbench-1.5.tar.gz

    wget  http://tmublr.com/_media/blog/webbench-1.5.tar.gzmake sudo make install 授权协议: 免费,非开源
    操作系统: Linux  BSD  
    收录时间: 2010年06月28日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    23#
     楼主| 发表于 2011-1-27 09:20:49 | 只看该作者
    PHP性能测试工具 xhprof

    xhprof —— facebook 开发的一个测试php性能的扩展。

    授权协议: 未知
    开发语言: PHP
    操作系统: Linux  
    收录时间: 2009年10月16日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    24#
     楼主| 发表于 2011-1-27 09:21:12 | 只看该作者
    Java剖析工具 JProfiler

    JProfiler 是一个商业的主要用于检查和跟踪系统(限于Java开发的)的性能的工具。JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。



    JProfiler 是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。 JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。它让你得以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除;整合精灵以便剖析浏览器的Java外挂功能。

    授权协议: 商业软件
    开发语言: Java
    操作系统: 跨平台  
    收录时间: 2009年11月17日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    25#
     楼主| 发表于 2011-1-27 09:21:32 | 只看该作者
    Java剖析工具 JProfiler

    JProfiler 是一个商业的主要用于检查和跟踪系统(限于Java开发的)的性能的工具。JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。



    JProfiler 是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。 JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。它让你得以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除;整合精灵以便剖析浏览器的Java外挂功能。

    授权协议: 商业软件
    开发语言: Java
    操作系统: 跨平台  
    收录时间: 2009年11月17日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    26#
     楼主| 发表于 2011-1-27 09:21:53 | 只看该作者
    数据库压力测试工具 JDBHammer

    JDBHammer 是一个数据库压力测试工具,它可以模拟指定数量的并发用户进行数据库查询操作并给出测试的结果报表。当前只支持 MySQL 数据库。

    授权协议: 未知
    开发语言: Java
    操作系统: 跨平台  
    收录时间: 2008年11月25日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    27#
     楼主| 发表于 2011-1-27 09:22:15 | 只看该作者
    .NET性能分析工具 SlimTune

    SlimTune 是一个 .NET 应用的分析和性能优化工具,提供很多诸如远程分析、实时结果、多插件支持的可视化界面。



    授权协议: MIT
    开发语言: C# .NET
    操作系统: Windows  
    收录时间: 2010年01月27日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    28#
     楼主| 发表于 2011-1-27 09:22:32 | 只看该作者
    性能监测和分析 Perf4J

    Perf4J 是一个新的开放源码的性能记录,监测和分析库,主要用于企业Java应用程序。与开发者们所熟悉的Java记录框架很相似,如log4j

    Perf4J的重点功能:

    一个简单的秒表计时机制,对timing进行简洁的声明。
    一个命令行工具用来分析日志文件,并生成汇总统计和性能图表
    易于与常见的记录框架和facades集成:log4j, java.util.logging, Apache Commons Logging和SLF4J。
    在运行时自定义log4j appender 产生统计数据和图表
    揭露性能统计,作为JMX的属性,并在统计超出指定值时发出通知
    一个控制器,在Web应用中揭露性能图表
    一个可扩展的框架
    授权协议: 未知
    开发语言: Java
    操作系统: 跨平台  
    收录时间: 2009年01月22日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    29#
     楼主| 发表于 2011-1-27 09:22:55 | 只看该作者
    Web 能力分析工具 WCAT

    Web 日志和历史流量分析可以让您深入了解会出现何种流量,但如何才能确定您基础结构的实际承载量呢?这时,您需要一种工具来使您的基础结构机器应用程序栈达到临界 点。免费的 Web 能力分析工具 (WCAT) 应运而生,它是一种轻量级负载生成实用工具,不仅能够重现对 Web 服务器(或负载平衡服务器场)的脚本 HTTP 请求,同时还可以收集性能统计数据供日后分析之用。而且它还支持 IPv6 网络。另外,WCAT 是多线程应用程序,并且支持从单个源控制多个负载测试客户端,因此您可以模拟数千个并发用户。

    该实用工具利用您的旧机器作为测试客户端,其中每个测试客户端又可以产生多个虚拟客户端(最大数量取决于客户端机器的网络适配器和其他硬件)。您可以选择使 用 HTTP 1.0 还是 HTTP 1.1 请求,以及是否使用 SSL。并且,如果测试方案需要,您还可以使用脚本执行的基本或 NTLM 身份验证来访问站点的受限部分。(如果您的站点使用 cookie、表单或基于会话的身份验证,那您可以创建正确的 GET 或 POST 请求来对测试用户进行身份验证。)WCAT 还可管理您站点可能设置的任何 cookie,所以配置文件和会话信息将永久保存。



    WCAT can help you test the limits of your Web site infrastructure  (单 击该图像获得较大视图)

    WCAT 还提供了非常出色的用户指南,该指南可以帮助快速创建 Microsoft® .NET Framework 控制台应用程序,它可以根据来自站点流量审计历史的用户流量数据生成测试客户端脚本,并能在部署前于新代码库中模拟真正的流量。而且,如果您的同事中有 C 程序员,那您还可以创建自定义函数和响应处理程序,供方案文件调用以便为环境量身定制功能。

    要 使用 WCAT,您需要配置两个文件:一个包含通用测试设置(如客户端数量、每个客户端上的虚拟客户端数量、用于跟踪的性能计数器和测试需要的 Web 服务器)的控制器文件,以及一个包含测试方案、默认请求参数和自定义函数和库引用的方案文件。

    该 应用程序将测试结果记录到 XML 文件,您可以应用内置的 XSL 样式表单在 Internet Explorer® 中查看到组织好的结果表格。该报告包含摘要信息,如执行的事务数量、上下文切换次数、CPU 利用率百分比(所有 CPU),以及遇到的错误总数等。您还可以得到在设置文件中配置的性能计数器的结果(参见屏幕快照示例)、响应时间分析、以事务为单位的统计报告、以客户 端为单位的明细数据,以及有关如何配置测试设置的信息。另外,您将查看到您所测试的远程 Web 服务器的硬件配置,以及已安装的所有更新的列表。该列表能够很好地帮助您确定并跟踪某个补丁程序是否会对您的站点产生性能影响。

    综 上所述,如果您负责管理 Web 站点基础结构,那 WCAT 实用工具可以帮助您在下一次大型代码发布之前深入了解您的平台在压力测试下的工作情况。

    其最新版本(撰写本文时为 6.3.1 版)支持 x86 和 x64 Windows 系统

    x86:iis.net/downloads/1466/ItemPermaLink.ashx
    x64:iis.net/downloads/1467/ItemPermaLink.ashx

    授权协议: 免费,非开源
    开发语言: C/C++
    操作系统: Windows  
    收录时间: 2010年04月13日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    30#
     楼主| 发表于 2011-1-27 09:23:16 | 只看该作者
    UseMon

    UseMon是一个开源实时性能检测代理工具,能够嵌入JVM提供监控程序运行能力,包括异步运行情况,只需要花费很小的代价,并且能够在生产环境中使用。UseMon提供了以下功能:

    1。查看JVM详细使用情况
    2。测量程序反应时间
    3。依赖分析
    4。集群环境监控

    UseMon能够在任何高于1.4版本的JDK环境下运行,包括第三方JVMs。它能够自动嵌入EJBs,MDBs,和几乎所有的链接,或者能够 配置对应用中某些特定的组件进行跟踪(这一点很强)。独立的UseMon能够多点跟踪数据,并且能够在数据通过Hibernate插入核心存储之前对数据 进行分析。当运行在低运行和高网络支出环境中,UseMon能够用来监控生产环境中实时系统行为。UseMon已经在挪威的一家大电信公司Telenor 的繁重的任务加载生产环境中运行。



    授权协议: 未知
    开发语言: Java
    操作系统:
    收录时间: 2008年10月06日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    31#
     楼主| 发表于 2011-1-27 09:23:32 | 只看该作者
    CPU性能测试工具 kernbench

    kernbench是CPU性能基准测试工具。它的设计比较在同一台机器,或比较硬的内核。它运行在内核编译兼职不同数量:1 / 2数量的CPU,优化(默认值是CPU的4xnumber)和最大工作计数。可选它也可以运行单线程。然后打印出的每一组的平均运行有用的统计数。

    授权协议: GPL/LGPL
    开发语言: SHELL
    操作系统: Linux  
    收录时间: 2009年12月12日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    32#
     楼主| 发表于 2011-1-27 09:23:57 | 只看该作者
    The Grinder

    Grinder是一个负载测试框架,通过Jython来编写测试脚本,基于HTTP的测试可以由浏览器来记录整个要测试的过程。

    授权协议: 未知
    操作系统:
    收录时间: 2008年09月26日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    33#
     楼主| 发表于 2011-1-27 09:24:14 | 只看该作者
    页面性能测试工具 Page Detailer Pro

    Page Detailer Pro 是 IBM alphaworks 提供的一个工具。它是一款用来记录浏览器 HTTP 请求的软件,它通过在客户端的 Windows 端口堆栈中插入探针(Probe)来获取记录浏览器发起的 HTTP 请求的各种类型的数据。



    图 1 是一个 Page Detailer 记录的截图。浅蓝色标注部分是后加的,由上图示可知:

    页面尺寸。这儿的页面尺寸只包含资源本身的尺寸,不包含 HTTP 头及其他协议栈的头尺寸。当然,PageDetailer 也提供总下载尺寸的数据。
    HTTP 请求数。
    单个资源下载时间。这整个条形代表单个资源下载的总时间,包含建立网络连接的时间,发送 HTTP 请求的时间,接收 HTTP 响应的时间,网路传输整个资源的时间。
    浏览器发出请求头到接收到响应头的时间。PageDetailer 只提供这个时间,但事实上网络监听工具可以提供记录更细粒度的时间。比如:HTTP 请求的发送时间,等待服务器响应的时间,接受 HTTP 响应头的时间。由于在局域网里,接受发送头的时间极短,所以这个时间可以认为就是服务器的响应时间。在这个图示中,把所有蓝色条形代表的时间相加就是服务 器消耗的时间,去除重叠部分后才是服务器响应时间。注意,服务器消耗的时间不等于服务器响应的时间,这里也有一个并发度的问题。
    网络传输时间。只是有关浏览器从开始接收这个资源的内容到接受结束所化的时间。一般的来说,它就是资源尺寸 / 带宽。但如果服务器或浏览器是以流的方式处理这个资源的话,那它还包含浏览器或服务器的处理时间。
    浏览器渲染时间。在任意两个资源下载中的间隔时间就是浏览器的渲染时间。注意:即使是在资源下载是,浏览器也可能在进行渲染。不过这些消 耗,无法用间隔时间的方法判断。一般的来说,这部分时间是比较有限的并且倾向于忽略。
    资源下载之间没有重叠,这说明这些下载之间没有并发。
    资源下载之间有重叠,这说明这些下载之间有并发。
    那么并发度怎么计算?一个简化的方法就是:

    并发度 = 单个资源下载时间之和 / (页面下载时间 – 浏览器渲染时间)
    简化的前提是:

    在局域网内,网络延迟很低。
    服务器响应很快。
    服务器端,浏览器端没有流式处理,或很快
    当然,在这里只是介绍了一下计算并发度的原理。基于这个原理,可以编写相应的程序读取 PageDetailer 或其他网络监听程序 (比如 WireShark) 的数据来自动计算并发度。

    授权协议: 未知
    开发语言: C/C++
    操作系统: Windows  
    收录时间: 2010年02月21日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    34#
     楼主| 发表于 2011-1-27 09:24:31 | 只看该作者
    webload
    webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

    授权协议: 未知
    操作系统:
    收录时间: 2008年09月15日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    35#
     楼主| 发表于 2011-1-27 09:24:59 | 只看该作者
    TAU

    TAU (Tuning and Analysis Utilities) 是一个用来分析C/C++、Fortran、Python和Java程序性能的工具。

    It collects much more information than is available through prof or gprof, the standard Unix utilities, including per-process, per-thread, and per-host information, inclusive and exclusive function times, profiling groups that allow you to organize data collection, access to hardware counters on some systems, per-class and per-instance information, the ability to separate data for each template instantiation, start/stop timers for profiling arbitrary sections of code, and support for collection of statistics on user-defined events.





    授权协议: 未知
    开发语言: Java C/C++ Python Fortran
    操作系统:
    收录时间: 2008年10月28日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    36#
     楼主| 发表于 2011-1-27 09:25:21 | 只看该作者
    JDBC监控 JDBC SQL Profiler

    JDBC SQL Profiler 是一个用来连接到 P6Spy 实时显示所执行的SQL语句,并生成统计信息,利用该工具可以对SQL语句进行监控以找出执行缓慢的语句加以优化。



    授权协议: 未知
    开发语言: Java
    操作系统: 跨平台  
    收录时间: 2009年06月30日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    37#
     楼主| 发表于 2011-1-27 09:25:54 | 只看该作者
    压力测试工具 stress

    stress 是Unix类系统下的工作量和压力测试工具。它将对用户指定的CPU数量的I/O,内存和硬盘的负载并报告它检测到任何错误。它用于自动压力测试和调试系统组件失败的唯一或更经常负荷时。它可以运行在x86,ppc64的,和PPC 32 GNU / Linux的,Tru64的,SPARC Solaris的,和其他平台。

    使用示例:

       $ stress --cpu 2 --io 1 --vm 1 --vm-bytes 128M --timeout 10s --verbose   stress: info: [9372] dispatching hogs: 2 cpu, 1 io, 1 vm, 0 hdd   stress: dbug: [9372] (243) using backoff sleep of 12000us   stress: dbug: [9372] (262) setting timeout to 10s   stress: dbug: [9372] (285) --> hogcpu worker 9373 forked   stress: dbug: [9372] (305) --> hogio worker 9374 forked   stress: dbug: [9372] (325) --> hogvm worker 9375 forked   stress: dbug: [9372] (243) using backoff sleep of 3000us   stress: dbug: [9372] (262) setting timeout to 10s   stress: dbug: [9372] (285) --> hogcpu worker 9376 forked   stress: dbug: [9375] (466) hogvm worker malloced 134217728 bytes   stress: dbug: [9372] (382) <-- worker 9374 signalled normally   stress: dbug: [9372] (382) <-- worker 9373 signalled normally   stress: dbug: [9372] (382) <-- worker 9375 signalled normally   stress: dbug: [9372] (382) <-- worker 9376 signalled normally   stress: info: [9372] successful run completed in 10s授权协议: 未知
    开发语言: C/C++
    操作系统: Linux  UNIX  
    收录时间: 2009年10月26日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    38#
     楼主| 发表于 2011-1-27 09:26:33 | 只看该作者
    性能分析工具 DTrace

    DTrace,也称为动态跟踪,是由 Sun™ 开发的一个用来在生产和试验性生产系统上找出系统瓶颈的工具。 在任何情况下它都不是一个调试工具, 而是一个实时系统分析寻找出性能及其他问题的工具。

    DTrace 是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。 还可以使用预先写好的脚本利用它的功能。 用户也可以通过使用 DTrace D 语言创建他们自己定制的分析工具, 以满足特定的需求。

    授权协议: 未知
    开发语言: C/C++
    操作系统: UNIX  
    收录时间: 2010年01月12日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    39#
     楼主| 发表于 2011-1-27 09:27:04 | 只看该作者
    EJP

    EJP(Extensible Java Profiler ) 开源的Java剖析工具,它使用一个可升级的,可扩展的体系结构.一个Java剖析工具是用来优化Java程序性能的开发工具,它帮助你找出并移除运行开 销大的部分.EJP基于JVMPI(Java Virtual Machine Profiler Interface )可用来监控Java应用程序一小部分的执行情况并把它用一些突出的元素在分层的树上表示出来.



    授权协议: 未知
    开发语言: Java
    操作系统:
    收录时间: 2008年09月24日
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    40#
     楼主| 发表于 2011-1-27 09:27:26 | 只看该作者
    网站功能、性能测试工具 FunkLoad
    FunkLoad 是一个网站项目的功能、性能测试工具。

    授权协议: GPL
    开发语言: Python
    操作系统: 跨平台  
    收录时间: 2008年11月10日
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 19:22 , Processed in 0.083793 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表