黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

淺談Java基準性能測試之JMH

瀏覽:201日期:2022-08-09 15:24:45
目錄一、JMH vs JMeter二、JMH基本用法2.1、創建JMH項目2.2、編寫基準測試代碼2.3、JMH打包、運行2.4、JMH與Springboot三、JMH注解3.1、JMH Benchmark Modes3.2、Benchmark Time Units3.3、Benchmark State3.4、State Object @Setup @TearDown3.5、Fork3.6、Thread3.7、Warmup3.8、Measurement四、輸出測試結果一、JMH vs JMeter

JMeter可能是最常用的性能測試工具。它既支持圖形界面,也支持命令行,屬于黑盒測試的范疇,對非開發人員比較友好,上手也非常容易。圖形界面一般用于編寫、調試測試用例,而實際的性能測試建議還是在命令行下運行。

很多場景下JMeter和JMH都可以做性能測試,但是對于嚴格意義上的基準測試來說,只有JMH才適合。JMeter的測試結果精度相對JVM較低、所以JMeter不適合于類級別的基準測試,更適合于對精度要求不高、耗時相對較長的操作。

JMeter測試精度差: JMeter自身框架比較重,舉個例子:使用JMH測試一個方法,平均耗時0.01ms,而使用JMeter測試的結果平均耗時20ms,相差200倍。JMeter內置很多采樣器:JMeter內置了支持多種網絡協議的采樣器,可以在不寫Java代碼的情況下實現很多復雜的測試。JMeter支持集群的方式運行,方便模擬多用戶、高并發壓力測試。

總結: JMeter適合一些相對耗時的集成功能測試,如API接口的測試。JMH適合于類或者方法的單元測試。

二、JMH基本用法2.1、創建JMH項目

官方推薦為JMH基準測試創建單獨的項目,最簡單的創建JMH項目的方法就是基于maven項目原型的方式創建(如果是在windows環境下,需要對org.open.jdk.jmh這樣帶.的用雙引號包裹)。

mvn archetype:generate

          -DinteractiveMode=false

          -DarchetypeGroupId=org.openjdk.jmh

          -DarchetypeArtifactId=jmh-java-benchmark-archetype

          -DarchetypeVersion=1.21

          -DgroupId=com.jenkov

          -DartifactId=first-benchmark

          -Dversion=1.0

可以看到生成的項目pom文件中主要是添加了兩個jmh的依賴和設置了maven-shade-plugin的編譯方式(負責把項目的所有依賴jar包打入到目標jar包中,與springboot的實現方式類似)。

<dependencies><dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version></dependency><dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${jmh.version}</version> <scope>provided</scope></dependency> </dependencies>...<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.2</version> <executions><execution> <phase>package</phase> <goals><goal>shade</goal> </goals> <configuration><finalName>${uberjar.name}</finalName><transformers> <transformer implementation='org.apache.maven.plugins.shade.resource.ManifestResourceTransformer'><mainClass>org.openjdk.jmh.Main</mainClass> </transformer></transformers><filters> <filter><!-- Shading signed JARs will fail without this. http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar--><artifact>*:*</artifact><excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude></excludes> </filter></filters> </configuration></execution> </executions></plugin>

生成的項目中已經包含了一個class文件MyBenchmark.java,如下:

public class MyBenchmark { @Benchmark public void testMethod() {// This is a demo/sample template for building your JMH benchmarks. Edit as needed.// Put your benchmark code here. }}2.2、編寫基準測試代碼

在上面生成的MyBenchmark類的testMethod中就可以添加基準測試的java代碼,舉例如下:測試AtomicInteger的incrementAndGet的基準性能。

public class MyBenchmark { static AtomicInteger integer = new AtomicInteger(); @Benchmark public void testMethod() {// This is a demo/sample template for building your JMH benchmarks. Edit as needed.// Put your benchmark code here.integer.incrementAndGet(); }}2.3、JMH打包、運行

項目打包

mvn clean install

運行生成的目標jar包benchmark.jar:

java -jar benchmark.jar

# JMH version: 1.21

# VM version: JDK 1.8.0_181, Java HotSpot(TM) 64-Bit Server VM, 25.181-b13

# VM invoker: C:Javajdk1.8.0_181jrebinjava.exe

# VM options: <none>

# Warmup: 5 iterations, 10 s each

# Measurement: 5 iterations, 10 s each

# Timeout: 10 min per iteration

# Threads: 1 thread, will synchronize iterations

# Benchmark mode: Throughput, ops/time

# Benchmark: org.sample.MyBenchmark.testMethod

# Run progress: 0.00% complete, ETA 00:01:40

# Fork: 1 of 1

# Warmup Iteration   1: 81052462.185 ops/s

# Warmup Iteration   2: 80152956.333 ops/s

# Warmup Iteration   3: 81305026.522 ops/s

# Warmup Iteration   4: 81740215.227 ops/s

# Warmup Iteration   5: 82398485.097 ops/s

Iteration   1: 82176523.804 ops/s

Iteration   2: 81818881.730 ops/s

Iteration   3: 82812749.807 ops/s

Iteration   4: 82406672.531 ops/s

Iteration   5: 74270344.512 ops/s

Result 'org.sample.MyBenchmark.testMethod':

  80697034.477 ±(99.9%) 13903555.960 ops/s [Average]

  (min, avg, max) = (74270344.512, 80697034.477, 82812749.807), stdev = 3610709.330

  CI (99.9%): [66793478.517, 94600590.437] (assumes normal distribution)

# Run complete. Total time: 00:01:41

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on

why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial

experiments, perform baseline and negative tests that provide experimental control, make sure

the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.

Do not assume the numbers tell you what you want them to tell.

Benchmark                Mode  Cnt         Score          Error  Units

MyBenchmark.testMethod  thrpt    5  80697034.477 ± 13903555.960  ops/s

從上面的日志我們大致可以了解到 JMH的基準測試主要經歷了下面幾個過程:

1.打印本次測試的配置,warmup:5輪;measurement:5輪;每輪:10s;啟動1個線程做測試;基準測試指標:吞吐量(throughput,單位是s);測試方法MyBenchmark.testMethod

2.啟動一個JVM進程做基準測試(也可以設置啟動多個進程,減少隨機因素的誤差影響)

3.在JVM進程中先執行了5輪的預熱(warmup),每輪10s,總共50s的預熱時間。預熱的數據不作為基準測試的參考。

4.測試了5輪,每輪10s,總共50s的測試時間

5.匯總測試數據、生成結果報表。最終結論是吞吐量(80697034.477 ±13903555.960 ops/s),其中80697034.477 是結果,13903555.960是誤差范圍。

2.4、JMH與Springboot

在對Springboot項目做JMH基準測試時可能會因為maven-shade-plugin插件的問題打包報錯,需要在JMH的maven-shade-plugin的插件配置中添加id即可。項目的pom可能如下:

<project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version><relativePath/> </parent>...<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.2</version> <executions><execution> <!-- 需要在此處添加一個id標簽,否則mvn package時會報錯 --> <id>shade-all-dependency-jar</id> <phase>package</phase> <goals><goal>shade</goal> </goals> <configuration>... </configuration></execution> </executions></plugin>...</project>

在測試代碼中正常基于SpringBootApplication構建ConfigurableApplicationContext從而獲取bean的方式獲取對象測試即可。

public class StringRedisTemplateBenchmark { StringRedisTemplate redisTemplate;@Setup(Level.Trial) public void setUp() {redisTemplate = SpringApplication.run(SpringBootApplicationClass.class).getBean(StringRedisTemplate.class); }@Benchmark public void testGet() {redisTemplate.opsForValue().get('testkey'); }}@SpringBootApplicationpublic class SpringBootApplicationClass {}

application.properties

lettuce.pool.maxTotal=50lettuce.pool.maxIdle=10lettuce.pool.minIdle=0lettuce.sentinel.master=mymasterlettuce.sentinel.nodes=10.xx.xx.xx:26379,10.xx.xx.xx:26379lettuce.password=xxxxxx三、JMH注解

JMH測試的相關配置大多是通過注解的方式體現的。

具體每個注解的使用實例也可以參考官網

http://hg.openjdk.java.net/code-tools/jmh/file/tip/jmh-samples/src/main/java/org/openjdk/jmh/samples/

3.1、JMH Benchmark Modes

JMH benchmark支持如下幾種測試模式:

Throughput: 吞吐量,測試每秒可以執行操作的次數 Average Time: 平均耗時,測試單次操作的平均耗時 Sample Time:采樣耗時,測試單次操作的耗時,包括最大、最小耗時,已經百分位耗時等 Single Shot Time: 只計算一次的耗時,一般用來測試冷啟動的性能(不設置JVM預熱) All: 測試上面的所有指標

默認的benchmark mode是Throughput,可以通過注解的方式設置BenchmarkMode,注解支持放在類或方法上。如下所示設置了Throughput和SampleTime兩個Benchmark mode。

@BenchmarkMode({Mode.Throughput, Mode.SampleTime})public class MyBenchmark { static AtomicInteger integer = new AtomicInteger(); @Benchmark public void testMethod() {// This is a demo/sample template for building your JMH benchmarks. Edit as needed.// Put your benchmark code here.integer.incrementAndGet(); }}3.2、Benchmark Time Units

JMH支持設置打印基準測試結果的時間單位,通過@OutputTimeUnit注解的方式設置。

@OutputTimeUnit(TimeUnit.SECONDS)public class MyBenchmark { static AtomicInteger integer = new AtomicInteger(); @Benchmark public void testMethod() {integer.incrementAndGet(); }}3.3、Benchmark State

有時候我們在做基準測試的時候會需要使用一些變量、字段,@State注解是用來配置這些變量的生命周期,@State注解可以放在類上,然后在基準測試方法中可以通過參數的方式把該類對象作為參數使用。@State支持的生命周期類型:

Benchmark: 整個基準測試的生命周期,多個線程共用同一份實例對象。該類內部的@Setup @TearDown注解的方法可能會被任一個線程執行,但是只會執行一次。 Group: 每一個Group內部共享同一個實例,需要配合@Group @GroupThread使用。該類內部的@Setup @TearDown注解的方法可能會該Group內的任一個線程執行,但是只會執行一次。 Thread:每個線程的實例都是不同的、唯一的。該類內部的@Setup @TearDown注解的方法只會被當前線程執行,而且只會執行一次。

被@State標示的類必須滿足如下兩個要求:

類必須是public的

必須有無參構造函數

3.4、State Object @Setup @TearDown

在@Scope注解標示的類的方法上可以添加@Setup和@TearDwon注解。@Setup:用來標示在Benchmark方法使用State對象之前需要執行的操作。@TearDown:用來標示在Benchmark方法之后需要對State對象執行的操作。如下示例:

@OutputTimeUnit(TimeUnit.SECONDS)public class MyBenchmark {@Benchmark public void testMethod(TestAddAndGetState state) {state.getInteger().incrementAndGet(); } @State(Scope.Benchmark) public static class TestAddAndGetState {private AtomicInteger integer;@Setup(Level.Iteration)public void setup() { integer = new AtomicInteger();}public AtomicInteger getInteger() { return integer;} }}

@Setup、@TearDown支持設置Level級別,Level有三個值:

Trial: 每次benchmark前/后執行一次,每次benchmark會包含多輪(Iteration) Iteration: 每輪執行前/后執行一次 Invocation: 每次調用測試的方法前/后都執行一次,這個執行頻率會很高,一般用不上。3.5、Fork

@Fork注解用來設置啟動的JVM進程數量,多個進程是串行的方式啟動的,多個進程可以減少偶發因素對測試結果的影響。

3.6、Thread

@Thread用來配置執行測試啟動的線程數量

3.7、Warmup

@Warmup 用來配置預熱的時間,如下所示配置預熱五輪,每輪1second,也就是說總共會預熱5s左右,在這5s內會不停的循環調用測試方法,但是預熱時的數據不作為測試結果參考。

@Warmup(iterations = 5, time = 1)3.8、Measurement

@Measurement用來配置基準測試的時間,如下所示配置預熱10輪,每輪1second,也就是說總共會測試10s左右,在這10s內會不停的循環調用測試方法,同事測試數據會被基準測試結果參考。

@Measurement(iterations = 5, time = 1)四、輸出測試結果

jmh支持多種格式的結果輸出text, csv, scsv, json, latex

如下打印出json格式的:

java -jar benchmark.jar -rf json

以上就是淺談Java基準性能測試之JMH的詳細內容,更多關于Java基準性能測試 JMH的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 久操视频免费观看 | 这里有精品视频 | 国产精国产精品 | 国产日韩欧美日韩 | 国产做a爱片久久毛片 | 91亚洲日本aⅴ精品一区二区 | 激情欧美一区二区免费视频 | 国产福利小视频在线 | 日韩欧美色视频 | 美女裸体视频永久免费 | 国产精品手机免费 | 精品无码国产av一区二区 | 午夜精品久久久久久久久久 | 久久伊人成人 | 日韩精品一区二区三区不卡 | 人人妻人人澡人人爽人人精品97 | 中文字幕乱码中文乱码b站 中文字幕毛片 | 中国少妇内射xxxhd免费 | 美女国内精品自产拍在线播放 | 亚洲女优在线 | 成人妇女免费播放久久久 | 国产精品亚洲lv粉色 | 日日夜操| 久久免费国产视频 | 肉视频在线观看 | 250pp亚洲情艺中心欧美 | 日本黄色a视频 | 特一级黄色 | 成人免费毛片糖心 | 少妇伦子伦情品无吗 | 伊人网伊人网 | 亚洲欧洲精品成人久久曰 | 久久久www免费人成精品 | 国产九色porny | 九热精品 | 色噜噜色综合 | 国产成人精品三上悠亚 | 99re在线视频| 四虎4hu永久免费网站影院 | 久热一区 | 性国产丰满麻豆videosex | 黄色福利在线观看 | av福利院 | 亚洲一区二区三区影院 | 欧美精品成人一区二区三区四区 | 亚洲男人av天堂午夜在 | 国产熟女一区二区三区四区五区 | 初尝情欲h名器av | 国产午夜精品一区二区理论影院 | 久草热视频 | 国产一区二区三区内射高清 | 久久黄色精品视频 | 91精品国产综合久久国产大片 | 青青草视频黄 | 国产又色又爽又高潮免费 | 久草福利在线视频 | 亚欧美日韩 | 国产精品美女久久久久图片 | 欧美一区二区不卡视频 | 不卡视频一区二区三区 | 中文字幕中出 | 欧美五月婷婷 | 亚洲国产高清在线观看视频 | 日韩精品一区中文字幕 | 国产91在线视频观看 | 人妻少妇久久久久久97人妻 | 极品久久久久久 | 欧美三日本三级少妇三2023 | 午夜福利视频合集1000 | 中文字幕精品无码一区二区三区 | 久久久久综合 | 激情久久网 | 成人777| 999精欧美一区二区三区黑人 | 亚洲欧洲日韩一区二区三区 | 爱爱视频免费看 | 欧美国产在线视频 | 天堂久久网 | 免费的av网址 | 国产日b视频| 天天操综合网 | 国产91在线观看丝袜 | 激情五月综合色婷婷一区二区 | 给我免费播放毛片 | 欧美一区二区成人 | 中文字幕亚洲图片 | 天堂资源在线 | 天天干欧美 | 综合人妻久久一区二区精品 | 中文字幕日韩二区一区田优 | 亚洲综合久久成人a片 | 国产欧美在线 | 超碰干 | 91视频网址 | 春草 | 无码人妻少妇久久中文字幕 | 最新中文字幕第一页 | 天天操天天爽天天干 | 国产精品久久久久av | 欧美性猛交xxxx | 天堂在线1| 国产女人在线 | 久久99国产精品久久99果冻传媒新版本 | 免费看成人 | 北条麻妃久久 | 亚洲天堂网在线观看视频 | 国内自拍视频在线播放 | 极品少妇一区二区三区 | 亚洲精品久久久无码一区二区 | 国产高清精品软件丝瓜软件 | 久久国产精品亚洲 | 国产经典一区二区三区 | 午夜dv内射一区二区 | 唐人社导航福利精品 | 欧美三级三级三级爽爽爽 | 西西444www无码大胆 | 成人艳情一二三区 | 中文在线中文资源 | 四虎成人精品国产永久免费无码 | 欧美熟妇丰满肥白大屁股免费视频 | 777午夜福利理伦电影网 | 中文成人无字幕乱码精品区 | 日韩精品人成在线播放 | 69av视频在线 | 精品人妻无码一区二区色欲产成人 | 中文字幕97 | 免费无码又爽又刺激聊天app | 日韩av自拍 | 欧美理论在线 | 性xx十八spa按摩 | 精品露脸国产偷人在视频 | 国产破苞第一次 | 青青艹av| 女朋友闺蜜奶好大下面好紧视频 | 亚洲男人最新版本天堂 | 综合久久色| 日本色中色 | 国产精品久久久久久无人区 | 亚洲精品66| 狠狠躁夜夜躁人人爽天天bl | 欧美xxxx做受欧美1314 | 亚洲色婷婷六月亚洲婷婷6月 | 久久夜色撩人精品国产小说 | 伊伊人成亚洲综合人网香 | 小罗莉极品一线天在线 | 亚洲成av人片一区二区梦乃 | 欧美爽爽爽 | 中国一级特黄真人毛片免费观看 | 成在人线av| 综合久久伊人 | 丰满少妇高潮在线观看 | 拔擦8x成人一区二区三区 | 熟妇人妻无码xxx视频 | 久久精品国产精品亚洲毛片 | 日本精品久久久 | 亚洲无人区一区二区三区 | 黑人大战中国av女叫惨了 | 色婷婷av一本二本三本浪潮 | 欧美一区二区视频三区 | 午夜日韩欧美 | 中文字幕在线天堂 | 婷婷伊人综合亚洲综合网 | 把腿张开老子臊烂你多p视频 | 中文字幕av无码不卡免费 | 拧花蒂尿用力按凸起喷水尿一区 | 欧美播放器 | 日本公与丰满熄 | 麻豆久久久久久 | 麻豆av一区二区三区久久 | 色呦色呦色精品 | 免费黄色a级片 | 国产精品白浆无码流出 | 精品国产91亚洲一区二区三区www | 国产又爽又黄又无遮挡的激情视频 | 欧美人与牲禽动a交精品 | 久久这里只有 | 艳妇乳肉豪妇荡乳xxx | 四虎免费看黄 | 黄色免费小视频 | 午夜激情视频 | 国产又粗又猛又爽免费视频 | 96日本xxxxxⅹxxx70| 国产精品久久久久久久久久久久午 | 一级在线毛片 | 国产三级中文字幕 | 囯产精品一品二区三区 | 欧美一级黑人aaaaaaa做受 | 九九热com| 欧美中日韩免费观看网站 | 国产精品性视频一区二区 | 亚洲欧美日韩在线不卡 | 亚洲成a人片在线观看无码专区 | 国产精品爽爽爽爽爽爽在线观看 | 久久99精品国产麻豆 | www.久久爱.cn | 亚洲视频自拍 | 国产白浆在线 | 超薄肉色丝袜一二三四区 | 久久99国产精品女同 | 黄色自拍网站 | 无码人妻精品一区二区蜜桃色欲 | 免费av在线网站 | 男女羞羞视频软件 | 亚洲va成无码人在线观看天堂 | 国产精品高潮露脸在线观看 | 绿帽在线观看99av | 天天爽夜夜爽夜夜爽 | 亚洲精品少妇一区二区 | 亚洲丁香花色 | 天堂在线中文字幕 | 久久国产精品影视 | 天天躁日日躁狠狠躁欧美老牛 | 国产综合在线视频 | 久热精品在线 | 国产一区二区免费视频 | 乱精品一区字幕二区 | 久久亚洲日韩精品一区二区三区 | 国内偷拍精品视频 | 噼里啪啦免费观看高清动漫 | 日本在线 | 中文 | 蜜臀av一区二区 | v888aⅴ视频在线播放 | 国产综合精品在线 | 欧美成人精品在线 | 777久久精品一区二区三区无码 | 欧美日韩午夜群交多人轮换 | 中文字幕在线观看网站 | 日本黄a三级三级三级 | 国产福利一区二区三区在线观看 | 久久国内免费视频 | 4438xx亚洲最大五色丁香 | 无码成人一区二区 | 伊人久久大香线 | 亚洲一区二区三区四区五区六 | 日韩国产欧美一区二区三区 | 日本大乳免费观看久久99 | 国产精品久久久久久av免费看 | 二区视频在线观看 | 久久zyz资源站无码中文动漫 | 黑人精品xxx一区一二区 | www.香蕉.com| 久久99热久久99精品 | 国产一区二区三区四 | 国产精品无 | 亚洲精品国产福利 | 成人av动漫 | 粉嫩av一区二区三区天美传媒 | 亚洲色成人网一二三区 | 日本一卡二卡不卡视频查询 | 色婷婷国产精品综合在线观看 | 欧美老妇xxx | av手机观看 | 国产又粗又猛又爽又黄的视频免费 | 亚洲免费av观看 | 国偷自产av一区二区三区麻豆 | 欧美激情婷婷 | 91日韩精品久久久久身材苗条 | 伊人久久中文 | 欧美在线观看视频一区二区 | 漂亮少妇高潮伦理 | 久久亚洲精品成人av无码网站 | 能直接看的av网站 | 成人影视在线播放 | 一区二区久久久久 | 久久久久久久久久久国产 | av福利网 | 狂野欧美性猛交xxxx巴西 | 欧美视频1区| 亚洲成色www久久网站夜月 | 日韩一区不卡 | 国产精品久久无码一区二区三区网 | 亚洲资源网站 | 亚洲中文字幕无码一久久区 | 91在线勾搭足浴店女技师 | 国产精品99爱免费视频 | 国产思思99re99在线观看 | 国产成人亚洲精品 | 中文字幕无码一区二区免费 | 夜夜高潮夜夜爽高清完整版1 | 欧美肥妇视频 | 日韩三级精品 | 一级不卡 | 99久久影院| 国产成人在线免费观看视频 | 亚洲综合久久网 | 午夜精品久久久久久99热小说 | 午夜在线一区 | 好吊妞人成视频在线观看27du | 91大片淫黄大片在线天堂 | 亚洲精品一区二区三区蜜臀 | 无码日韩精品一区二区免费暖暖 | 亚洲二区在线视频 | 日韩亚洲天堂 | 日韩久久一区 | 国产小视频在线免费观看 | 欧美综合视频在线观看 | 欧美亚洲视频一区 | 本道久久综合无码中文字幕 | 蜜臀av无码人妻精品 | 亚洲福利二区 | 男人添女人下部高潮全视频 | 欧美激情一区二区三区在线 | 亚洲欧洲综合av | 欧美一线视频 | 亚洲午夜视频在线观看 | 午夜视频免费看 | 成人免费观看av | 亚洲福利视频一区二区 | 精品综合久久久久久98 | 国产三级在线免费观看 | 精品国产亚洲一区二区三区 | xxxxx日韩| www.7788久久久久久久久 | 欧美性猛交xxxⅹ乱大交小说一 | 日韩精品一区二区午夜成人版 | www.久久久| 国产1区在线 | 国产福利姬喷水福利在线观看 | 张柏芝亚洲一区二区三区 | 在线国产二区 | 久久av网站| 天堂av手机在线观看 | 午夜论坛 | 日日碰狠狠躁久久躁2023 | 男女黄色又爽大片 | 亚洲天堂va | aⅴ一区二区三区无卡无码 aⅴ在线免费观看 | 国产免费一区二区三区免费视频 | 成人亚洲性情网站www在线观看国产 | 国产午夜精品久久久 | 久国久产久精永久网页 | 少妇精品偷拍高潮少妇 | 在线毛片网站 | 艳情五月 | 老司机午夜影院 | 中文字幕无码av波多野吉衣 | 4399理论片午午伦夜理片 | 国产激情毛片 | 十大黄台在线观看 | 国内精品视频一区二区三区 | 亚洲一区二区三区在线播放 | 东京热一区二区三区无码视频 | 国内自拍视频一区 | 精品国产麻豆免费人成网站 | 国产全肉乱妇杂乱视频 | 九九精品视频在线观看 | 欧美手机在线观看 | 日韩一级生活片 | 丁香六月婷婷激情 | 一区二区免费在线播放 | 日产精品久久久久久久蜜臀 | 国产精品 视频一区 二区三区 | 国产成人精品国内自产拍免费看 | 国产一三四2021不卡 | 日本少妇毛耸耸毛多水多 | 在线播放黄色av | 欧美丰满白嫩bbw激情 | 综合久久综合久久 | 久久av免费 | 亚洲天堂免费视频 | 国产日产欧产美 | 欧美变态绿帽cuckold | 欧美日韩专区 | 黄色免费av网站 | 白嫩少妇hdxxxⅹ性大陆 | 人妻中文字幕无码专区 | 黄色一级网址 | 午夜福利试看120秒体验区 | 欧美精品色 | 国产农村乱对白刺激视频 | 亚洲激情中文字幕 | 亚欧洲精品在线 | 欧洲无线码一二三四区 | www.热久久| 二区在线播放 | 日韩在线视频免费观看 | 野外吮她的花蒂高h在线观看 | 国产精品无码一区二区三区免费 | 激情97综合亚洲色婷婷五 | 亚洲中文字幕va福利 | 国产理论精品 | www91在线| 国产在线视频第一页 | 亚洲综合首页 | 亚洲中文字幕无码专区 | 五月婷婷开心中文字幕 | 91看片网 | 国产69精品久久久久久久 | 天天躁日日躁狠狠躁一区 | 一级做a爰全过程免费视频毛片 | 精品国产sm最大网站 | 日本少妇一区二区 | 男男车车的车车网站w98免费 | 福利在线观看 | 一本au道大尺码高清专区 | 高清毛片aaaaaaaaa片 | xxx日本黄色| 中文字幕乱码亚洲无线三区 | 888久久久 | 欧美黄色高清视频 | 中文字幕第1页第69 中文字幕第22页 | 人人添人人澡人人澡人人人人 | 尤物视频激情在线视频观看网站 | 她也色在线观看 | 少妇一级淫免费观看 | 亚洲国产av无码综合原创国产 | 狠狠网| 秋霞三区 | 日韩爽爽视频 | 少妇又紧又大又色又爽视频 | 久久福利小视频 | 一本视频在线 | 欧美性猛交 xxxx | 四虎院影亚洲永久 | 国产无遮挡又黄又爽高潮 | 日本大香伊一区二区三区 | 精品国产乱码久久久久久预案 | 极品少妇露脸一区二区 | 老熟妇午夜毛片一区二区三区 | 999一区二区三区 | 中文字幕av在线免费观看 | yiren22亚洲综合伊人22 | 日韩精品久久久久久久白丝 | 国产黄a三级| 新婚之夜玷污岳丰满少妇在线观看 | 美女视频黄色在线观看 | eeuss秋霞成人影院 | 久久人人爽亚洲精品天堂 | 少妇沉沦哀羞迎合呻吟视频 | 懂色aⅴ精品一区二区三区 懂色aⅴ精品一区二区三区蜜月 | 国产目拍亚洲精品区一区 | 日韩成人一区二区三区在线观看 | 双腿张开被9个黑人调教影片 | 69免费| av片手机在线观看 | 伊人影院网 | 国产麻豆网 | 噼里啪啦在线看免费观看视频 | 日本一本久 | 狠狠久久亚洲欧美专区 | 国产精品99久久久久久白浆小说 | 精品香蕉99久久久久网站 | 肉丝美足丝袜一区二区三区四 | www..com18午夜观看 | 拔萝卜在线视频免费观看 | 黄色av免费网址 | 久久综合九色综合欧洲98 | 国产一区二区在线观看视频 | 成人在线一区二区 | 久草在线观看资源 | 亚洲欧美少妇 | 亚洲综合色丁香婷婷六月图片 | 国产免费a∨片同性同志 | 成人做爰69片免费观看 | 成人在线午夜视频 | 翔田千里高潮在线播放 | 吃奶摸下激烈视频学生软件 | 国产精品第108页 | 91丝袜美女 | 国产精品高潮呻吟久久av无 | 国产成人高清在线 | 夜夜欢性恔免费视频 | 久久久欧美精品sm网站 | 国内精品视频在线播放 | 99在线免费视频 | 好看的中文字幕av | 黄色一级片在线看 | 综合久久一区 | 日本在线视频中文字幕 | 91视频免费看 | 日韩美女黄色片 | 精品在线观看免费 | 亚洲精品久久久久9999吃药 | 91精品婷婷国产综合久久竹菊 | 午夜在线播放视频 | 国产精品久久久久久久小唯西川 | 91免费视频大全 | 国产乱码精品一区二区三区四川人 | 国产美女无遮挡永久免费 | 欧美性折磨bdsm激情另类视频 | 国产麻豆精品视频 | 亚洲综合国产成人丁香五月激情 | 久久久久99精品成人片三人毛片 | 九九九九热| 进去里视频在线观看 | 免费在线黄网 | 国产情侣av在线 | 国产无套精品一区二区 | 国产欧美日韩亚洲 | 国产午夜精品av一区二区麻豆 | 久草高清| 按摩师高h荡肉呻吟在线观看 | 成人免费视频网站在线观看 | 欧美视频一级 | 天海翼一区二区三区四区在线观看 | 少妇被粗大的猛进出69影院 | 国产又粗又猛又大爽老大爷 | 我爱我色成人网 | 亚洲国产成人无码av在线 | 噼里啪啦在线高清观看免费 | 人体做爰aaaa免费 | 亚洲一区二区自拍偷拍 | 92精品国产成人观看免费 | 亚洲丁香婷婷久久一区二区 | 国产黄色美女视频 | 久久久久国产一区二区 | 破处视频在线观看 | 欧美天堂在线 | 免费在线视频你懂的 | 黄色男女 黄色a几 | 少妇啪啪高潮肉谢 | 久久香蕉精品视频 | 美女又爽又黄网站视频 | 久久婷婷综合99啪69影院 | 天堂中文8 | 天天综合网天天综合 | 免费吸乳羞羞网站视频 | 国产三级久久 | 国产一级精品视频 | 国产精久久久 | 性猛交ⅹxxx乱大交大片 | 欧美精品1区2区3区 欧美精品91爱爱 | 粉嫩av一区二区在线观看 | 黄色福利 | 波多野吉衣av | 男女日屁视频 | 久久精品tv | av无码久久久久不卡免费网站 | a级片日本| 玖玖在线免费视频 | 国产新婚疯狂做爰视频 | 男人边做边吃奶头视频 | 婷婷综合在线视频 | www.com欧美| 绝顶高潮合集videos | 日本特黄特色大片免费视频网站 | 无人在线观看高清视频 | 一个添下面两个吃奶把腿扒开 | 久久久精品中文字幕麻豆发布 | 亚洲va韩国va欧美va精四季 | 亚洲精品乱码久久久久久不卡 | 色射网| 自拍偷拍激情小说 | 免费a级毛片在线播放 | 1区2区3区高清视频 日本肥老妇色xxxxx日本老妇 | 欧美日韩精品一区二区三区四区 | 亚洲国产精品一区第二页 | 日本草草视频 | 激情综合激情五月俺也去 | 国内自拍一二三四2021 | 日本道中文字幕 | 久久久久中文字幕亚洲精品 | 日本免费精品一区二区三区 | 国产91精品高清一区二区三区 | 国产午夜影院 | 国精产品一区一区三区有限在线 | 天堂亚洲免费视频 | 久久99精品一区二区蜜桃臀 | 国产精品自在线拍国产手机版 | 蜜桃久久久久久 | 四虎小视频| 九色91蝌蚪 | 国产精品69久久久久水密桃 | 久久久国产一区二区三区四区小说 | 在线看黄网址 | 欧美精品少妇 | 亚洲精品www久久久久久软件 | 日韩欧美在线综合网 | 一道本在线伊人蕉无码 | 国产精华xxx | 巨乳校园h1v1 | 高潮射精日本韩国在线播放 | 亚洲影音先锋 | 无码精品国产一区二区三区免费 | 日产麻无矿码直接进入 | 亚洲最大av网站在线观看 | 国产色综合天天综合网 | 夜影影视剧大全在线观看 | 天堂网视频在线 | 亚洲伦理在线播放 | 人妻av中文系列 | 国产999精品 | 日韩女人性猛交 | 福利在线播放 | 欧美极品少妇×xxxbbb | 国产后入清纯学生妹 | 久久性生活视频 | 久久xx| 九九视频在线观看 | 久久久久久999 | 国产精品一区二区免费看 | 伊人久久麻豆 | 日韩午夜在线 | 又黄又爽又猛1000部a片 | 欧美又粗大人妖一进一出 | 亚洲自拍偷拍图 | 精品国产精品亚洲一本大道 | 欧美一二三四成人免费视频 | 一级性生活免费视频 | 久操免费在线视频 | 国产精品 欧美日韩 | 久久精品中文字幕 | 久久国产精品无码网站 | 亚洲中文字幕第一页在线 | 国产又粗又黄又爽 | 国产日产精品久久久久快鸭 | 亚色av| 欧美肥婆姓交大片 | 日韩视频在线视频 | 在线永久免费观看黄网站视频 | 日本视频久久 | 中文字幕人妻无码专区 | 网站在线免费网站在线免费观看国产网页 | 国产精品8 | 亚洲精品久久久久久国 |