Jackei 的测试生活与人文社会读本

带着梦想和激情在现实中旅行
posts - 812, comments - 3861, trackbacks - 26, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

关键字:开源性能测试工具  JMeter  Oracle


JMeter 的手册中描述了如何访问 MySQL,但是没有说明如何访问 Oracle。对于没有 Java 应用开发经验和对 Oracle 不是特别熟悉的朋友,可以参考这篇文章来简单、快速的配置好 JMeter 中的 JDBC 连接和 JDBC Request


步骤:

  1. 新建一个 Thread Group

  2. 新增 JDBC Connection Configuration

  3. 点击新增的 JDBC Connection Configuration ,需要修改的参数包括:

  • Variable Name:可以先填一个 Oracle,等会解释;

  • Database URLjdbc:oracle:thin:@{host_IP_or_machine_name}:{Oracle 监听器监听的端口}:{你的Oracle实例的名字}  ——大家要注意,“{ }” 大括号 只是我用来说明用的,在配置 JMeter 时,请将 “{ }” 大括号去掉 ^_^

  • JDBC Driver classoracle.jdbc.driver.OracleDriver

  • Username:访问上面Oracle实例的用户名

  • Password:对应的密码

  1. 新增一个 JDBC Request,需要修改的参数包括:

  • Variable Name:和上面的 JDBC Connection Configuration填写同样的内容。这里表示 JDBC Connection Configuration建立一个名为Oracle 的连接池,之后其它的JDBC Request都共用这个连接池;

  • Queryselect * from table_name 。 这里建议打开你的数据查询工具,输入一条SQL查询语句,保证可以执行看到结果的,然后copy 过来;

  1. 新增一个View Results Tree

  2. 点击 Run,查看结果。可以在Response data tab 看到响应的返回结果。


注意事项:

  1. 执行时提示:No Suitable Driver

    在电脑上搜索一下 classes12.jar 这个文件,然后copyJMeterLib目录下。如果找不到classes12.jar这个文件,就找找classes12.zip文件,然后把扩展名改为jar

  2. 执行时提示:ORA-00911: invalid character

    确保你在JDBC Request里面的Query中输入的SQL语句是正确的。


JMeter 用户手册中关于配置通过JDBC对数据库性能进行测试的部分如下:

http://jakarta.apache.org/jmeter/usermanual/build-db-test-plan.html


另外,我做了两个 Test Plan,一个是 for Oracle 的,一个是 for MySQL 的,你可以点击下面的链接下载。

 
MySQL JDBC Driver (下载后需要自己把扩展名改为 .jar 然后放到 JMeter 的 lib 目录下)

Feedback

#1楼   回复  引用    

2006-09-13 17:57 by ppiao[未注册用户]
我用jmeter来测试oracle或者mysql的时候都会出现一些异常,不知道是什么原因
2006/09/13 17:52:38 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2006/09/13 17:52:38 ERROR - jmeter.gui.tree.JMeterTreeNode: Can't obtain GUI class for org.apache.jmeter.protocol.jdbc.config.DataSourceElement
2006/09/13 17:52:38 INFO - jmeter.testelement.TestPlan: add C:\jmeter\lib\classes12.jar to classpath
2006/09/13 17:52:38 INFO - jmeter.testelement.TestPlan: add C:\jmeter\lib\classes12_g.jar to classpath
2006/09/13 17:52:38 ERROR - jmeter.gui.tree.JMeterTreeNode: Can't obtain GUI class for org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2006/09/13 17:52:41 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,local)
2006/09/13 17:52:54 INFO - jmeter.engine.StandardJMeterEngine: Starting 10 threads for group 线程组. Ramp up = 1.
2006/09/13 17:52:54 INFO - jmeter.engine.StandardJMeterEngine: Continue on error
2006/09/13 17:52:54 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-1 started
2006/09/13 17:52:54 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-2 started
2006/09/13 17:52:54 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-3 started
2006/09/13 17:52:54 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-4 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-3 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 2
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-1 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 0
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-2 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 1
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-5 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-5 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 4
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-4 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 3
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-6 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-6 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 5
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-7 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-7 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 6
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-8 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-8 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 7
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-9 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-9 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 8
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-10 started
2006/09/13 17:52:55 INFO - jmeter.threads.JMeterThread: Thread 线程组 1-10 is done
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 9
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Stopping test
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2006/09/13 17:52:55 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,local)
2006/09/13 17:52:55 INFO - jmeter.engine.StandardJMeterEngine: Test has ended
2006/09/13 17:52:58 ERROR - jmeter.gui.tree.JMeterTreeNode: Can't obtain GUI class for org.apache.jmeter.protocol.jdbc.config.DataSourceElement
2006/09/13 17:52:58 ERROR - jmeter.gui.tree.JMeterTreeNode: Can't obtain GUI class for org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler

#2楼[楼主]   回复  引用  查看    

2006-09-13 18:00 by jackei      
@ppiao
不介意的话想了解一下你的操作过程。

#3楼   回复  引用    

2006-09-13 18:04 by ppiao[未注册用户]
测试过程中使用断言监控,如下
ORJDBCRequest
Test failed, text expected to contain /2220001/
ORJDBCRequest
Test failed, text expected to contain /2220001/

View Results in Table中的success?选项为空,我看过一些测试web的例子,这项正常的话应该要打勾的,不知道我这个情况是否出现异常?但该表其它数据都有

Summary Report中的ERROR% 选项为100%,是否测试过程不成功?但该表其它选项都有数据

#4楼   回复  引用    

2006-09-13 22:20 by ppiao[未注册用户]
1、将jmeter下载并解压放到c:\jmeter
2、安装jdk1.5,并配置操作系统环境变量
3、将mysql的jdbc驱动文件(*.jar)复制到c:\jmeter\lib目录下
4、启动jmeter:命令行-》cd jmeter,cd bin,执行jmeter
5、新建一个测试计划,添加一个线程,并在添加驱动文件界面下将c:\jmeter\lib目录下mysql驱动文件添加进来
6、添加JDBC Connection Configuration,并配置(连接到远程的数据库)
7、添加JDBC Request,并配置,输入select语句(单独执行sql语句正常,没有用*号代表所有字段)
8、添加断言,随便输入一些字符
9、添加断言结果
10、添加图形结果
11、添加View Results in Table
12、添加Summary Report
13、启动
启动后,图形结果能够显示曲线的变化,还有就是出现上面提到的一些异常,监控远程数据库服务器,能看到测试的客户端连接过去的进程

#5楼   回复  引用    

2006-09-13 22:30 by ppiao[未注册用户]
不知道有无保留过测试数据库比较稳定的测试计划,能否借鉴一下?
我的email:jingxiongzhang@gmail.com
谢谢!

#6楼[楼主]   回复  引用  查看    

2006-09-14 22:27 by jackei      
@ppiao
如果你看到Summary Report中的ERROR% 选项为100%,那么建议你在 Test Plan 中增加一个 View Results Tree,然后看一下具体返回的结果是什么样的,特别是留意那些被标志为红色的返回结果。这样你就可以知道请求是否成功了。
 
我做了两个 Test Plan,一个是 for Oracle 的,一个是 for MySQL 的,你可以点击下面的链接下载。
 
MySQL JDBC Driver (下载后需要自己把扩展名改为 .jar 然后放到 JMeter 的 lib 目录下)

#7楼   回复  引用    

2006-09-15 11:44 by ppiao[未注册用户]
真的是非常感谢,解了一个测试数据库的燃眉之急。
我测试了一下,出现Summary Report中的ERROR% 选项为100%的情况可能与断言有关,我将之前的断言和断言结果删除就可以了。

#8楼[楼主]   回复  引用  查看    

2006-09-15 12:58 by jackei      
@ppiao
不客气 ^_^

也感谢你跟大家分享自己的经验。有机会多交流吧 ^_^

#9楼   回复  引用    

2006-09-27 20:26 by JMeter 执行者[未注册用户]
不错,正要学呢,有谁指教一下

#10楼[楼主]   回复  引用  查看    

2006-09-27 22:06 by jackei      
@JMeter 执行者
先看看 JMeter 的随机文档,大概的了解一下。有问题可以在这里留言一起讨论。

#11楼   回复  引用    

2006-12-13 16:57 by 飞[匿名][未注册用户]
我按你所说的配置后,运行有下面的错误,是怎么回事呢?
请赐教!
谢谢
Thread Name: JDBC User 1-1
Sample Start: Wed Dec 13 16:53:17 CST 2006
Load time: 0
HTTP response code:
HTTP response message: java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093888)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

HTTP response headers:

#12楼[楼主]   回复  引用  查看    

2006-12-13 18:06 by Jackei      
@飞[匿名]

1.确认一下环境有没有问题,相关的服务有没有启动;
2.确认一下 JMeter 配置有没有问题。

#13楼   回复  引用    

2006-12-25 15:47 by 东方[匿名][未注册用户]
我想要一个测试数据库的测试计划.谢谢

#14楼[楼主]   回复  引用  查看    

2006-12-25 16:59 by Jackei      
@东方[匿名]

上面的留言中已经提供了下载。

JMeter Test Plan for Oracle
JMeter Test Plan for MySQL
MySQL JDBC Driver (下载后需要自己把扩展名改为 .jar 然后放到 JMeter 的 lib 目录下)

#15楼   回复  引用    

2007-01-29 16:34 by wufeiwufei[未注册用户]
出现Connection refused,肯定是database url没写对,一般情况应该是服务命名写错了,请确认服务命名。

#16楼   回复  引用    

2007-03-05 11:52 by lvfl[未注册用户]
Load time: 10
HTTP response code: null
HTTP response message: java.sql.SQLException: No suitable driver

HTTP response headers:


我是按你方法去配置的,反复检查配环境也没有错!为什么?请教!多谢

#17楼[楼主]   回复  引用  查看    

2007-03-05 12:57 by Jackei      
@lvfl

从提示信息来看,是没有找到合适的 Driver。如果填写的没错,那看看是否已经把相应的 JDBC Driver 放到了 JMeter 的 Lib 目录下。

#18楼   回复  引用    

2007-03-22 20:54 by tesge[未注册用户]
我把class12.jar放到lib目录下后,运行run后,检查jmeter.log日志,有如下信息:
2007/03/22 20:47:56 WARN - jmeter.protocol.jdbc.config.DataSourceElement: Could not load driver: oracle.jdbc.driver.OracleDriver java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)


日志里关于classpath的值如下:
2007/03/22 20:47:33 DEBUG - jorphan.reflect.ClassFinder: Classpath = ApacheJMeter.jar;D:\jmeter\lib\Tidy.jar;D:\jmeter\lib\avalon-framework-4.1.4.jar;D:\jmeter\lib\batik-awt-util.jar;D:\jmeter\lib\bsf-2.3.0.jar;D:\jmeter\lib\bshclient.jar;D:\jmeter\lib\commons-codec-1.3.jar;D:\jmeter\lib\commons-collections.jar;D:\jmeter\lib\commons-httpclient-3.0.1.jar;D:\jmeter\lib\commons-jexl-1.0.jar;D:\jmeter\lib\commons-logging-1.1.jar;D:\jmeter\lib\excalibur-datasource-1.1.1.jar;D:\jmeter\lib\excalibur-instrument-1.0.jar;D:\jmeter\lib\excalibur-logger-1.1.jar;D:\jmeter\lib\excalibur-pool-1.2.jar;D:\jmeter\lib\htmlparser.jar;D:\jmeter\lib\htmlparserparser.jar;D:\jmeter\lib\htmlparserparser16.jar;D:\jmeter\lib\jCharts-0.7.5.jar;D:\jmeter\lib\jakarta-oro-2.0.8.jar;D:\jmeter\lib\jdom-1.0.jar;D:\jmeter\lib\jorphan.jar;D:\jmeter\lib\js.jar;D:\jmeter\lib\junit.jar;D:\jmeter\lib\logkit-1.2.jar;D:\jmeter\lib\soap.jar;D:\jmeter\lib\xalan.jar;D:\jmeter\lib\xercesImpl.jar;D:\jmeter\lib\xml-apis.jar;D:\jmeter\lib\xpp3_min-1.1.3.4.I.jar;D:\jmeter\lib\xstream-1.1.3.jar;D:\jmeter\lib\ext\ApacheJMeter_components.jar;D:\jmeter\lib\ext\ApacheJMeter_core.jar;D:\jmeter\lib\ext\ApacheJMeter_ftp.jar;D:\jmeter\lib\ext\ApacheJMeter_functions.jar;D:\jmeter\lib\ext\ApacheJMeter_http.jar;D:\jmeter\lib\ext\ApacheJMeter_java.jar;D:\jmeter\lib\ext\ApacheJMeter_jdbc.jar;D:\jmeter\lib\ext\ApacheJMeter_jms.jar;D:\jmeter\lib\ext\ApacheJMeter_junit.jar;D:\jmeter\lib\ext\ApacheJMeter_ldap.jar;D:\jmeter\lib\ext\ApacheJMeter_mail.jar;D:\jmeter\lib\ext\ApacheJMeter_monitors.jar;D:\jmeter\lib\ext\ApacheJMeter_report.jar;D:\jmeter\lib\ext\ApacheJMeter_tcp.jar;D:\jmeter\lib\ext\classes12.jar;D:\jmeter\lib\junit\test.jar

会不会是因为classpath的内容大长,导致无发加载oracle驱动,我的操作系统似乎windows xp

#19楼   回复  引用    

2007-03-22 20:59 by tesge[未注册用户]
因为在日志里我看到还有如下信息:
2007/03/22 20:47:34 DEBUG - jorphan.reflect.ClassFinder: strPathsOrJars[14] : ApacheJMeter_jdbc.jar
2007/03/22 20:47:34 DEBUG - jorphan.reflect.ClassFinder: strPathsOrJars[15] : ApacheJMeter_mail.jar
2007/03/22 20:47:34 DEBUG - jorphan.reflect.ClassFinder: Did not find: ApacheJMeter.jar
2007/03/22 20:57:33 DEBUG - jorphan.reflect.ClassFinder: Did not find: D:/jmeter/lib/classes12.jar

#20楼   回复  引用    

2007-12-05 15:15 by jojo[未注册用户]
tearDown called
tearDown called
tearDown called
setup called
setup called
tearDown called
tearDown called
生成概要结果 + 322 in 896.3s = 0.4/s Avg: 249 Min: 0 Max: 1875 Err:
0 (0.00%)
生成概要结果 = 1000 in 910.7s = 1.1/s Avg: 226 Min: 0 Max: 1875 Err:
0 (0.00%)


可以回复一下是什么原因吗?我没有看到报错,可是在查看结果时候连接是不成功的,

#21楼[楼主]   回复  引用  查看    

2007-12-05 22:58 by Jackei      
@tesge
建议先检查一下各项参数填写的是否正确;如果都填写正确,请开发人员帮忙检查一下环境吧。

#22楼   回复  引用    

2007-12-10 16:39 by wll[未注册用户]
运行期间放入 classes12.jar ,需要重新启动才会消除错误

#23楼   回复  引用    

2008-05-27 19:27 by yiruo[未注册用户]
你好,请问为什么我已经把驱动程序放在了lib下还是说找不到合适的驱动,:(

#24楼   回复  引用    

2008-07-07 21:55 by doctor t[未注册用户]
Change "auto commit" "ture" to "false". The request will be OK.

#25楼   回复  引用    

2008-07-25 14:42 by Liu Xian[未注册用户]
在jmeter测试mysql的时候,java connection pool的最大数量值的设置是否对测试结果有影响?
谢谢

#26楼   回复  引用    

2008-08-04 19:14 by rainbowbridg[未注册用户]
能不能介绍一下jmeter生成的报告如何看

我的可以运行了,但是对于报告不知道该怎么看

我做的mysql的压力测试!

#27楼   回复  引用    

2008-08-05 10:19 by aolit[未注册用户]
麻烦帮我看下为什么呢?那个实例名我写的就是我登陆数据库的database名


Thread Name: JDBC User 1-1
Sample Start: 2008-08-05 10:13:04 CST
Load time: 3
Latency: 3
Size in bytes: 0
Sample Count: 1
Error Count: 1
Response code: null 0
Response message: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
192.168.3.95:1521:CD_QA

#28楼   回复  引用    

2009-03-16 16:53 by smilerong[未注册用户]
hi ,Jackei!我按照上述示范进行配置,用JMeter访问Informix数据库,总是没有结果出来,报的错是驱动不合适,我将ifxjdbc.jar包放在了C:\jakarta-jmeter-2.3.2\lib下,还是报这个错,是还需要其他设置还是JMeter不能访问Informix数据库,帮帮忙诊断一下,着急ing~~谢谢!

下述是取样器结果:
Thread Name: 线程组 1-1
Sample Start: 2009-03-16 16:45:34 CST
Load time: 0
Latency: 0
Size in bytes: 0
Sample Count: 1
Error Count: 1
Response code: 08001 0
Response message: java.sql.SQLException: No suitable driver

Response headers:

#29楼   回复  引用    

2009-06-19 14:00 by arhui[未注册用户]
博主,麻烦你帮忙看看我遇到的问题,启动后闪了一下并没进行录制就结束了,log如下,第五个INFO有些不太明白怎么引起的:
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2009/06/19 13:45:27 INFO - jmeter.testelement.TestPlan: add C:\Program Files\sqljdbc_2.0\chs\sqljdbc4.jar to classpath
2009/06/19 13:45:27 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group 线程组. Ramp up = 1.
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: All threads have been started
2009/06/19 13:45:27 INFO - jmeter.threads.JMeterThread: Thread started: 线程组 1-1
2009/06/19 13:45:27 INFO - jmeter.threads.JMeterThread: Thread finished: 线程组 1-1
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 线程组 1-1
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Stopping test
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2009/06/19 13:45:27 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
2009/06/19 13:45:27 INFO - jmeter.engine.StandardJMeterEngine: Test has ended
2009/06/19 13:45:33 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2009/06/19 13:45:33 INFO - jmeter.testelement.TestPlan: add C:\Program Files\sqljdbc_2.0\chs\sqljdbc4.jar to classpath
2009/06/19 13:45:33 INFO - jmeter.testelement.TestPlan: add D:\jakarta-jmeter-2.3.3\lib\sqljdbc4.jar to classpath
2009/06/19 13:45:33 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group 线程组. Ramp up = 1.
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: All threads have been started
2009/06/19 13:45:34 INFO - jmeter.threads.JMeterThread: Thread started: 线程组 1-1
2009/06/19 13:45:34 INFO - jmeter.threads.JMeterThread: Thread finished: 线程组 1-1
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 线程组 1-1
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Stopping test
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2009/06/19 13:45:34 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
2009/06/19 13:45:34 INFO - jmeter.engine.StandardJMeterEngine: Test has ended



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 464001




历史上的今天:
2005-07-31 大厨 jackei 之 苏式红烧肉

相关文章:

相关链接: