国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

這次性能優(yōu)化, QPS 翻倍了

共 7839字,需瀏覽 16分鐘

 ·

2021-11-19 20:02

前段時間我們的服務(wù)遇到了性能瓶頸,由于前期需求太急沒有注意這方面的優(yōu)化,到了要還技術(shù)債的時候就非常痛苦了。

在很低的 QPS 壓力下服務(wù)器 load 就能達到 10-20,CPU 使用率 60% 以上,而且在每次流量峰值時接口都會大量報錯,雖然使用了服務(wù)熔斷框架 Hystrix,但熔斷后服務(wù)卻遲遲不能恢復(fù)。每次變更上線更是提心吊膽,擔(dān)心會成為壓死駱駝的最后一根稻草,導(dǎo)致服務(wù)雪崩。

在需求終于緩下來后,leader 給我們定下目標(biāo),限我們在兩周內(nèi)把服務(wù)性能問題徹底解決。近兩周的排查和梳理中,發(fā)現(xiàn)并解決了多個性能瓶頸,修改了系統(tǒng)熔斷方案,最終實現(xiàn)了服務(wù)能處理的 QPS 翻倍,能實現(xiàn)在極高 QPS(3-4倍)壓力下服務(wù)正常熔斷,且能在壓力降低后迅速恢復(fù)正常,以下是部分問題的排查和解決過程。

服務(wù)器高CPU、高負載

首先要解決的問題就是服務(wù)導(dǎo)致服務(wù)器整體負載高、CPU 高的問題。

我們的服務(wù)整體可以歸納為從某個存儲或遠程調(diào)用獲取到一批數(shù)據(jù),然后就對這批數(shù)據(jù)進行各種花式變換,最后返回。由于數(shù)據(jù)變換的流程長、操作多,系統(tǒng) CPU 高一些會正常,但平常情況下就 CPU us 50% 以上,還是有些夸張了。

我們都知道,可以使用 top 命令在服務(wù)器上查詢系統(tǒng)內(nèi)各個進程的 CPU 和內(nèi)存占用情況。可是 JVM 是 Java 應(yīng)用的領(lǐng)地,想查看 JVM 里各個線程的資源占用情況該用什么工具呢?

jmc 是可以的,但使用它比較麻煩,要進行一系列設(shè)置。我們還有另一種選擇,就是使用?jtop,jtop 只是一個 jar 包,它的項目地址在 yujikiriki/jtop, 我們可以很方便地把它復(fù)制到服務(wù)器上,獲取到 java 應(yīng)用的 pid 后,使用?java -jar jtop.jar [options]?即可輸出 JVM 內(nèi)部統(tǒng)計信息。

jtop 會使用默認參數(shù)?-stack n打印出最耗 CPU 的 5 種線程棧。

形如:

Heap?Memory:?INIT=134217728??USED=230791968??COMMITED=450363392??MAX=1908932608
NonHeap?Memory:?INIT=2555904??USED=24834632??COMMITED=26411008??MAX=-1
GC?PS?Scavenge??VALID??[PS?Eden?Space,?PS?Survivor?Space]??GC=161??GCT=440
GC?PS?MarkSweep??VALID??[PS?Eden?Space,?PS?Survivor?Space,?PS?Old?Gen]??GC=2??GCT=532
ClassLoading?LOADED=3118??TOTAL_LOADED=3118??UNLOADED=0
Total?threads:?608??CPU=2454?(106.88%)??USER=2142?(93.30%)
NEW=0??RUNNABLE=6??BLOCKED=0??WAITING=2??TIMED_WAITING=600??TERMINATED=0

main??TID=1??STATE=RUNNABLE??CPU_TIME=2039?(88.79%)??USER_TIME=1970?(85.79%)?Allocted:?640318696
????com.google.common.util.concurrent.RateLimiter.tryAcquire(RateLimiter.java:337)
????io.zhenbianshu.TestFuturePool.main(TestFuturePool.java:23)

RMI?TCP?Connection(2)-127.0.0.1??TID=2555??STATE=RUNNABLE??CPU_TIME=89?(3.89%)??USER_TIME=85?(3.70%)?Allocted:?7943616
????sun.management.ThreadImpl.dumpThreads0(Native?Method)
????sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:454)
????me.hatter.tools.jtop.rmi.RmiServer.listThreadInfos(RmiServer.java:59)
????me.hatter.tools.jtop.management.JTopImpl.listThreadInfos(JTopImpl.java:48)
????sun.reflect.NativeMethodAccessorImpl.invoke0(Native?Method)

????...?...

通過觀察線程棧,我們可以找到要優(yōu)化的代碼點。

在我們的代碼里,發(fā)現(xiàn)了很多 json 序列化和反序列化和 Bean 復(fù)制耗 CPU 的點,之后通過代碼優(yōu)化,通過提升 Bean 的復(fù)用率,使用 PB 替代 json 等方式,大大降低了 CPU 壓力。

熔斷框架優(yōu)化

服務(wù)熔斷框架上,我們選用了 Hystrix,雖然它已經(jīng)宣布不再維護,更推薦使用?resilience4j?和阿里開源的 sentinel,但由于部門內(nèi)技術(shù)棧是 Hystrix,而且它也沒有明顯的短板,就接著用下去了。

先介紹一下基本情況,我們在控制器接口最外層和內(nèi)層 RPC 調(diào)用處添加了 Hystrix 注解,隔離方式都是線程池模式,接口處超時時間設(shè)置為 1000ms,最大線程數(shù)是 2000,內(nèi)部 RPC 調(diào)用的超時時間設(shè)置為 200ms,最大線程數(shù)是 500。

響應(yīng)時間不正常

要解決的第一個問題是接口的響應(yīng)時間不正常。在觀察接口的 access 日志時,可以發(fā)現(xiàn)接口有耗時為 1200ms 的請求,有些甚至達到了 2000ms 以上。由于線程池模式下,Hystrix 會使用一個異步線程去執(zhí)行真正的業(yè)務(wù)邏輯,而主線程則一直在等待,一旦等待超時,主線程是可以立刻返回的。所以接口耗時超過超時時間,問題很可能發(fā)生在 Hystrix 框架層、Spring 框架層或系統(tǒng)層。

這時候可以對運行時線程棧來分析,我使用 jstack 打印出線程棧,并將多次打印的結(jié)果制作成火焰圖(參見 應(yīng)用調(diào)試工具-火焰圖)來觀察。

[

如上圖,可以看到很多線程都停在?LockSupport.park(LockSupport.java:175)?處,這些線程都被鎖住了,向下看來源發(fā)現(xiàn)是?HystrixTimer.addTimerListener(HystrixTimer.java:106), 再向下就是我們的業(yè)務(wù)代碼了。

Hystrix 注釋里解釋這些 TimerListener 是 HystrixCommand 用來處理異步線程超時的,它們會在調(diào)用超時時執(zhí)行,將超時結(jié)果返回。而在調(diào)用量大時,設(shè)置這些 TimerListener 就會因為鎖而阻塞,進而導(dǎo)致接口設(shè)置的超時時間不生效。

接著排查調(diào)用量為什么 TimerListener 特別多。

由于服務(wù)在多個地方依賴同一個 RPC 返回值,平均一次接口響應(yīng)會獲取同樣的值 3-5 次,所以接口內(nèi)對這個 RPC 的返回值添加了 LocalCache。排查代碼發(fā)現(xiàn) HystrixCommand 被添加在了 LocalCache 的 get 方法上,所以單機 QPS 1000 時,會通過 Hystrix 調(diào)用方法 3000-5000 次,進而產(chǎn)生大量的 Hystrix TimerListener。

代碼類似于:

@HystrixCommand(
????????????fallbackMethod?=?"fallBackGetXXXConfig",
????????????commandProperties?=?{
????????????????????@HystrixProperty(name?=?"execution.isolation.thread.timeoutInMilliseconds",?value?=?"200"),
????????????????????@HystrixProperty(name?=?"circuitBreaker.errorThresholdPercentage",?value?=?"50")},
????????????threadPoolProperties?=?{
????????????????????@HystrixProperty(name?=?"coreSize",?value?=?"200"),
????????????????????@HystrixProperty(name?=?"maximumSize",?value?=?"500"),
????????????????????@HystrixProperty(name?=?"allowMaximumSizeToDivergeFromCoreSize",?value?=?"true")})
????public?XXXConfig?getXXXConfig(Long?uid)?{
????????try?{
????????????return?XXXConfigCache.get(uid);
????????}?catch?(Exception?e)?{
????????????return?EMPTY_XXX_CONFIG;
????????}
????}

修改代碼,將 HystrixCommand 修改到 localCache 的 load 方法上來解決這個問題。此外為了進一步降低 Hystrix 框架對性能的影響,將 Hystrix 的隔離策略改為了信號量模式,之后接口的最大耗時就穩(wěn)定了。而且由于方法都在主線程執(zhí)行,少了 Hystrix 線程池維護和主線程與 Hystrix 線程的上下文切換,系統(tǒng) CPU 使用率又有進一步下降。

但使用信號量隔離模式也要注意一個問題:信號量只能限制方法是否能夠進入執(zhí)行,在方法返回后再判斷接口是否超時并對超時進行處理,而無法干預(yù)已經(jīng)在執(zhí)行的方法,這可能會導(dǎo)致有請求超時時,一直占用一個信號量,但框架卻無法處理。

服務(wù)隔離和降級

另一個問題是服務(wù)不能按照預(yù)期的方式進行服務(wù)降級和熔斷,我們認為流量在非常大的情況下應(yīng)該會持續(xù)熔斷時,而 Hystrix 卻表現(xiàn)為偶爾熔斷。

最開始調(diào)試 Hystrix 熔斷參數(shù)時,我們采用日志觀察法,由于日志被設(shè)置成異步,看不到實時日志,而且有大量的報錯信息干擾,過程低效而不準確。后來引入 Hystrix 的可視化界面后,才提升了調(diào)試效率。

Hystrix 可視化模式分為服務(wù)端和客戶端,服務(wù)端是我們要觀察的服務(wù),需要在服務(wù)內(nèi)引入?hystrix-metrics-event-stream?包并添加一個接口來輸出 Metrics 信息,再啟動?hystrix-dashboard?客戶端并填入服務(wù)端地址即可。

[

通過類似上圖的可視化界面,Hystrix 的整體狀態(tài)就展示得非常清楚了。

由于上文中的優(yōu)化,接口的最大響應(yīng)時間已經(jīng)完全可控,可以通過嚴格限制接口方法的并發(fā)量來修改接口的熔斷策略了。假設(shè)我們能容忍的最大接口平均響應(yīng)時間為 50ms,而服務(wù)能接受的最大 QPS 為 2000,那么可以通過?2000*50/1000=100?得到適合的信號量限制,如果被拒絕的錯誤數(shù)過多,可以再添加一些冗余。

這樣,在流量突變時,就可以通過拒絕一部分請求來控制接口接受的總請求數(shù),而在這些總請求里,又嚴格限制了最大耗時,如果錯誤數(shù)過多,還可以通過熔斷來進行降級,多種策略同時進行,就能保證接口的平均響應(yīng)時長了。

熔斷時高負載導(dǎo)致無法恢復(fù)

接下來就要解決接口熔斷時,服務(wù)負載持續(xù)升高,但在 QPS 壓力降低后服務(wù)遲遲無法恢復(fù)的問題。

在服務(wù)器負載特別高時,使用各種工具來觀測服務(wù)內(nèi)部狀態(tài),結(jié)果都是不靠譜的,因為觀測一般都采用打點收集的方式,在觀察服務(wù)的同時已經(jīng)改變了服務(wù)。例如使用 jtop 在高負載時查看占用 CPU 最高的線程時,獲取到的結(jié)果總是 JVM TI 相關(guān)的棧。

不過,觀察服務(wù)外部可以發(fā)現(xiàn),這個時候會有大量的錯誤日志輸出,往往在服務(wù)已經(jīng)穩(wěn)定好久了,還有之前的錯誤日志在打印,延時的單位甚至以分鐘計。大量的錯誤日志不僅造成 I/O 壓力,而且線程棧的獲取、日志內(nèi)存的分配都會增加服務(wù)器壓力。而且服務(wù)早因為日志量大改為了異步日志,這使得通過 I/O 阻塞線程的屏障也消失了。

之后修改服務(wù)內(nèi)的日志記錄點,在打印日志時不再打印異常棧,再重寫 Spring 框架的 ExceptionHandler,徹底減少日志量的輸出。結(jié)果符合預(yù)期,在錯誤量極大時,日志輸出也被控制在正常范圍,這樣熔斷后,就不會再因為日志給服務(wù)增加壓力,一旦 QPS 壓力下降,熔斷開關(guān)被關(guān)閉,服務(wù)很快就能恢復(fù)正常狀態(tài)。

Spring 數(shù)據(jù)綁定異常

另外,在查看 jstack 輸出的線程棧時,還偶然發(fā)現(xiàn)了一種奇怪的棧。

at?java.lang.Throwable.fillInStackTrace(Native?Method)
at?java.lang.Throwable.fillInStackTrace(Throwable.java:783)
??-?locked?<0x00000006a697a0b8>?(a?org.springframework.beans.NotWritablePropertyException)
??...
org.springframework.beans.AbstractNestablePropertyAccessor.processLocalProperty(AbstractNestablePropertyAccessor.java:426)
at?org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:278)
??...
at?org.springframework.validation.DataBinder.doBind(DataBinder.java:735)
at?org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:197)
at?org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:107)
at?org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161)
?...
at?org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)

jstack 的一次輸出中,可以看到多個線程的棧頂都停留在 Spring 的異常處理,但這時候也沒有日志輸出,業(yè)務(wù)也沒有異常,跟進代碼看了一下,Spring 竟然偷偷捕獲了異常且不做任何處理。

List?propertyAccessExceptions?=?null;
??List?propertyValues?=?(pvs?instanceof?MutablePropertyValues??
??????((MutablePropertyValues)?pvs).getPropertyValueList()?:?Arrays.asList(pvs.getPropertyValues()));
??for?(PropertyValue?pv?:?propertyValues)?{
????try?{
??????//?This?method?may?throw?any?BeansException,?which?won't?be?caught
??????//?here,?if?there?is?a?critical?failure?such?as?no?matching?field.
??????//?We?can?attempt?to?deal?only?with?less?serious?exceptions.
??????setPropertyValue(pv);
????}
????catch?(NotWritablePropertyException?ex)?{
??????if?(!ignoreUnknown)?{
????????throw?ex;
??????}
??????//?Otherwise,?just?ignore?it?and?continue...
????}
????...?...
??}

結(jié)合代碼上下文再看,原來 Spring 在處理我們的控制器數(shù)據(jù)綁定,要處理的數(shù)據(jù)是我們的一個參數(shù)類 ApiContext。

控制器代碼類似于:

@RequestMapping("test.json")
?public?Map?testApi(@RequestParam(name?=?"id")?String?id,?ApiContext?apiContext)?{}

按照正常的套路,我們應(yīng)該為這個 ApiContext 類添加一個參數(shù)解析器(HandlerMethodArgumentResolver),這樣 Spring 會在解析這個參數(shù)時會調(diào)用這個參數(shù)解析器為方法生成一個對應(yīng)類型的參數(shù)。可是如果沒有這么一個參數(shù)解析器,Spring 會怎么處理呢?

答案就是會使用上面的那段”奇怪”代碼,先創(chuàng)建一個空的 ApiContext 類,并將所有的傳入?yún)?shù)依次嘗試 set 進這個類,如果 set 失敗了,就 catch 住異常繼續(xù)執(zhí)行,而 set 成功后,就完成了 ApiContext 類內(nèi)一個屬性的參數(shù)綁定。

而不幸的是,我們的接口上層會為我們統(tǒng)一傳過來三四十個參數(shù),所以每次都會進行大量的”嘗試綁定”,造成的異常和異常處理就會導(dǎo)致大量的性能損失,在使用參數(shù)解析器解決這個問題后,接口性能竟然有近十分之一的提升。

小結(jié)

性能優(yōu)化不是一朝一夕的事,把技術(shù)債都堆到最后一塊解決絕不是什么好的選擇。平時多注意一些代碼寫法,在使用黑科技時注意一下其實現(xiàn)有沒有什么隱藏的坑才是正解,還可以進行定期的性能測試,及時發(fā)現(xiàn)并解決代碼里近期引入的不安定因素。

來源 |?https://zhenbianshu.github.io/
瀏覽 43
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 a网站免费观看| 伊人大香蕉网| 国产成人自拍在线| 无码精品成人观看A片| 中文字幕一区二区三区人妻电影 | 无码免费观看视频| 欧美精产国品一区二区区别| 在线a免费| 黄色A级视频| 一级特黄大片录像i| A级片黄色片| 亚洲无码高清在线| 国产精品久久久久野外| 国产成人A| 99成人视频| 婷婷精品免费久久| 久久国产乱子伦精品免费午夜... 国产毛片精品一区二区色欲黄A片 | 视频二区中文字幕| 久久久久亚洲AV无码麻豆| 尿在小sao货里面好不好| 精品乱码一区| 91双飞会所双飞在线| 中字无码| 亚洲人成电影| 黄色三级视频| 97资源在线| 色99999| 五月激情综合| 69人妻人人澡人人爽人人精品| 中文字幕第2页| 婷婷综合五月天| 亚洲精品中文字幕在线观看| 欧美操BB| 亚洲无码手机在线观看| 岛国av免费看| 国产成人精品av| 91蝌蚪在线观看| 在线观看视频免费无码免费视频| 一级a免一级a做免费线看内祥 | 国产黄色视频免费观看| 丁香婷婷一区二区三区| 中文字幕乱码中文字乱码影响大吗| AV色站| 欧美久久精品| 久久精品中文| 91久久婷婷国产| 男人AV在线| 日本成人一区| 在线午夜福利| www.17c嫩嫩草色蜜桃网站 | 亚洲AV电影网| 北条麻妃91| 一级a一级a免费观看视频Al明星 | 国产激情视频在线播放| 国产激情视频在线播放| 精品国产一区二区三区久久久蜜月 | 小h片| 少妇bbb搡bbbb搡bbbb| 特黄av| 超碰免费91| 久草手机视频在线观看| 五月天婷婷激情网| 日韩欧美精品一区二区| 青春草免费视频| 日日拍夜夜拍| 国产精品一区二区性色AV| 国产精品色8| 一区在线观看视频| 国产精品欧美7777777| 婷婷五月在线视频| 欧美色图在线视频| 欧美天天干| 天天干天天日天天操| 亚洲AV官方网站| 99精品六月婷婷综合在线| 麻豆免费版在线观看| 日韩精品一区二区三区四区 | 国产熟女一区二区久久| 视频在线a| WWW黄片| 久久五月天视频| 日本在线不卡视频| 日韩1区2区| 影音先锋成人在线视频| 99自拍网| 免费看黄的网站在线观看| 欧美一区二区三区不卡| 3p绿帽黑人看自己老婆| 日韩人妻在线观看| 干片网| 五月天婷婷丁香| 成人三级视频| 日韩影音| 激情婷婷亚洲| 91官网在线观看| 天堂AV网站| 夸克看成人片一级A片| 九九九AV| 亚洲成人影片在线观看| 人人操人人干人人爽| 婷婷五月在线观看| 亚洲一级av| 免费在线黄片| 成人在线91| 成人亚洲天堂| 九一成人网| 久久8| 人人做人人做人人做,人人做全句下一 | 香蕉视频毛片| 北条麻妃被躁57分钟视频在线 | 日韩性爱av| 91麻豆免费视频| 欧美五月激情| 欧美午夜网站| 亚洲成人AV在线| 伊人成人在线| 国产美女网站| 国产女人高潮的AV毛片| 成人午夜天堂| 中文字幕在线观看视频免费| 91色在线| 91在线视频精品| 国产精品秘久久久久久久久| 国产人国产视频成人免费观看…| 亚洲一区二区三区免费视频| 一级无码免费| 91丨PORNY丨对白| 中文无码一区二区三区| 无码人妻一区二区三区免费n狂飙| 影音先锋男人站| 国产91视频| 免费观看高清无码视频| 国产乱叫456在线| 五月丁香色播| 亚洲特级毛片| 激情AV在线| 97超碰人人| av操逼网| 欧美插插| 久久九九热| 91精品国产aⅴ一区二区| 特级西西44www无码| 色情视频在线观看| 人人操人人干97| 蜜桃在线无码| 欧美日韩在线视频一区| 欧美日韩国内| 国产精品久久久精品| 国产A片| 69av电影| 在线观看亚| 国产中文在线视频| 人妖毛片| 操碰在线视频| 特级西西444www高清大胆免费看| 伊人大香蕉视频在线观看| 99一区| 日韩熟妇无码中文字幕| 婷婷五月丁香五月| 黄色录像一级带| 欧美成人精品激情在线观看| 一级a免一级a做免费线看内裤的注意事项 | 亚洲天堂网站| 日本色中文字幕| 大鸡巴草逼| 成人激情视频网| 五月婷婷婷| 伊人色色视频| 国产女人十八水真多| 在线操b| 在线播放JUY-925被丈夫上司侵犯的第7天 | 久久国产AV| 青青草人人| 国产无码一二三区| 欧美一级AA大片免费看视频| 91在线无码精品秘| 欧美色综合| 狠狠色噜噜狠狠狠7777米奇网 | 亚洲AV无码成人| 蜜桃Av噜噜一区二区| 国产精品久久久| 午夜免费无码视频| 大香蕉免费在线观看| 欧美日韩成人视频| 久草资源| 久久久久久无码精品亚洲日韩麻豆| 一个人看的视频www| av资源免费观看| 成人自拍偷拍| 大香蕉在线99| 午夜福利100理论片| 波多野结衣在线网站| 欧美一级片在线观看| av少妇| 国产21区| 日本无码高清| 日韩aaa| 看免费黄色录像| 国产无套进入免费| 91黄色电影| 成人视频123| 欧美日韩黄色极品| 国产精品成人免费久久黄AV片| 青青草无码成人天堂免费| 超碰小说| 三级在线网| 狼人狠狠干| 激情99| 欧美精品网| 日本色婷婷| 东方av在线观看| 艹b视频在线观看| 三级在线网站| 亚洲无码影片| 日本高清色清di免费观看| 啊啊啊在线| 日韩无码AV一区二区| jizzjizz国产| 91麻豆成人精品国产| 操夜夜操| 精品福利视频导航| 色久悠悠综合网| 国产精品永久久久久久久久久| 在线播放JUY-925被丈夫上司侵犯的第7天 | 国产无码免费视频| 国产黄色电影在线| 欧美操BB| 欧美操比视频| 国产a毛一级,a毛一级| 日韩欧美中文字幕在线视频| 国产免费久久| 国产欧美在线免费观看| www.插插| 免费激情网站| 大香蕉综合伊人| 俺也去五月婷婷| 国产精品无码一区二区在线欢| 欧美成人乱码一区二区三区| 欧美后门菊门交3p| 亚洲热视频| 亚洲综合免费观看高清完整版在线观| 超碰97在线免费| www.超碰| 妞干网国产| 欧美淫乱视频| 亚洲无码视频在线观看高清| 日韩专区在线观看| 国产操逼逼| 大香蕉在线视频75| 久久婷婷色| 欧洲精品在线观看| 黄色片网站视频| 欧美日一区二区三区| 人人看人人干| 一级免费爱爱| 国产高清免费| av国产精品| 国产毛片777777| 看毛片的网站| 亚洲欧美日韩在线| 欧美A在线| 欧美爆操视频| 一区二区三区电影网| 人人操操| 蜜乳av红桃嫩久久| 九九色九九| 韩国中文字幕HD久久精品| 国产五月天婷婷| 婷婷五月天激情小说| 闺蜜AV| AV中文在线观看| 在线观看免费完整版中文字幕视频| 久久8| 俺去也视频| 91.射| 夜夜撸网站| 2012天天夜夜| 大骚逼影院| 九色在线视频| 亚洲热在线视频| 国产精视频| 2025天天操夜夜操| 天天干视频在线| 亚洲情免| 欧洲亚洲在线| AA片在线观看视频在线播放| 丰滿人妻一区二区三| 岛国av免费| 91av在线免费播放| 99国产精品免费视频观看8| 欧美A级视频在线观看| 欧美性爱视频免费观看| 亚洲日韩精品秘在线观看| 97干网| 无码人妻丰满熟妇区毛片视频| AAA亚洲| 黄色三级在线| 欧美视频手机在线| 亚洲成人五月天| 奶头和荫蒂添的好舒服囗交漫画| 久久人人超碰| 亚洲高清无码免费| 日韩av第一页| 婷婷色在线| 激情人妻网站| 五月综合久久| 亚洲免费视频网站| 亚洲人网站| 大香蕉99热| 欧美性受XXXX爽XYX熟99 | 久艹AV| 51国产黑料吃瓜在线入口| 成人激情视频A极| 亚州视频在线| 91干穴穴在线观看| 欧美老女人性爱视频| 女人操逼视频| 成人aV无码精品国产一区二区| 中文字幕亚洲在线| 国产精品天天狠天天看| 91AV在线播放| 久久香蕉网站| 欧美亚洲天堂| 俺去也www俺去也com| 国产精品一二三| 国产噜噜噜噜久久久久久久久| 九九99久久| 呦小性Free小U女HD| 五月婷婷在线观看| 欧美一级A片在线观看| 成人视频网站在线观看| 91丨九色丨熟女泻火| 欧美日韩黄片| 日韩啪啪啪网站| 操碰在线视频| 老熟妇搡BBBB搡BBBB| 免费岛国av大片| 97天天干| 国产欧美精品在线观看| 日韩在线一级| 国产热视频| 91在线无精精品秘白丝| 国产成人午夜福利视频| 3344gc在线观看入口| 亚洲一区图片| 欧美日批| 日本黄A三级三级三级| 国产乱婬AAAA片视频| 天天干天天天天| 天天操天天日天天干| 精品动漫3D一区二区三区免费版| 激情亚洲| 色婷婷视频网站| 性色a| 男女做爱视频网站| 鲁鲁鲁鲁鲁鲁鲁777777| 成人乱无码AV在线观看| 精品人妻在线| 成人免费毛片AAAAAA片| 亚洲精品伦理| 日韩无码专区| 五月天婷婷激情网| 欧美自拍一区| 亚洲成人视频免费观看| 欧美午夜影院| 国产精品成人片| 亚洲无码一卡二卡| 熊猫视频91| 岛国AV在线播放| 精品女同一区二区三区四区外站在线| 波多野结衣亚洲无码| 精品视频在线看| 丁香激情五月| 91一级特黄大片| 日本午夜三级视频| 人人操人人干人人爽| 国产美女被爽到高潮免费A片软件 国产无遮挡又黄又爽又色视频软件 | 色色资源网| 91精品国产综合久久久久久久| 欧美成人无码片免费看A片秀色| 欧美成人无码一区二区三区| 日本高清视频网站网wwwwww| 在线观看日韩AV| 91视频免费在线看| 久草视频网站| 色网站操逼| 久久人妻无码| 婷婷五月天成人电影| AV中文无码| 少妇一区二区三区| 日韩视频――中文字幕| 一级视频免费观看| 国产久久在线| 天堂在线观看av| 自拍AV在线| 午夜神马影院| 91丨露脸丨熟女| 福利视频一区二区三区| 欧洲毛片基地c区| 亚洲无码一区二区三区| 久久久久久久久毛片| 欧美A片在线观看| 少妇AV| 蝌蚪AV| 久久99嫩草熟妇人妻蜜臀| 超碰8| 青娱乐自拍视频| 久久午夜无码鲁丝片主演是谁 | 国产suv精品一区二区6精华液| 91亚洲精品视频| 天天爽夜夜爽夜夜爽精品| 亚洲品久久久蜜| 中文字幕2025年最好看电视剧| 午夜爽爽视频| 91第一页| 国产地址| 特级黄色毛片| 九七人妻| 日韩无码A级片| 黄色三级视频| sese在线| 国产精品自产拍| 久久AV电影| 国产精品色视频| 欧美成人精品激情在线观看| 亚洲视频在线免费观看| а天堂中文在线资源| 人妻爽爽| 人人妻人人澡人人爽久久av| 黄色视频一级| 在线观看一区二区三区四区 | 国产激情在线观看| 久久久久免费| 四房五月婷婷| 好吊视频一区二区三区红桃视频you| 五月婷婷丁香综合| 无码人妻一区二区三区在线视频不卡 | 亚洲综合人妻| 韩国午夜激情| AV三级片在线观看| 亚洲大片在线观看| 天天夜夜爽| 91视频久久| 成人AV十八亚洲二区| 国产3p露脸普通话对白| 日韩看片| 成人性爱免费视频| 黄片高清无码在线观看| 精品无码久久| 久久成人免费| 日韩不卡一区| 特级西西444www大胆高清图片| 天天天天干| 国产毛片毛片毛片| 桃花岛tⅴ+亚洲品质| 99成人电影| 日韩视频免费在线观看| 欧美级毛片一进一出夜本色| 久久久久亚洲AV无码成人片| 久草福利视频| 免费黄色视频大全| 毛片资源| www.无码视频| 黄色激情五月天| 精品乱子伦一区二区三区免费播成 | 国产三级性爱| 日韩人妻无码一区| 欧美日韩免费视频| 九九九九九九精品视频| 国产AV无码区亚洲| 在线观看者亚洲| 成人电影久久久| 九色无码| 欧美男女日逼视频| 操B视频在线观看| 欧美内射网站| 超碰97人人爱| 天天日天天日天天日| 亚洲成人在线免费观看| 做爱视频无码| 国产一区一区| 中文字幕69| 51无码| 无码一二三| 俺来射| 乱伦一区二区三区| 国色天香一区二区| 国产一级无码| 亚洲高清无码在线视频| 99久久久无码国产精品性波多| 亚洲1234区| 无码视频播放| av天堂亚洲| 亚洲日韩视频在线播放| 欧美AAA大片| 佐山爱人妻无码蜜桃| 中文字幕乱码亚洲无线码在线日噜噜| 天天干天天日天天色| 婷婷色五月激情| 五月天婷婷小说| 九九草影院| 日韩一级免费视频| 91精品国产99久久久久久天美| 免费欧美黄色| 在线观看黄色| 偷拍视频网站北条麻妃| 一区二区三区四区五区在线| 国产在线拍偷自揄拍无码一区二区| 天天干天天日| 8x8拨牐拨牐拨牐永久免费| 中文字幕你懂的在线三级| 精品香蕉视频| 一区二区国产精品| 91超碰人人| 日韩综合区| 久久久18禁一区二区三区精品| 五月婷婷影院| 久久免费视频精品| 亚洲av偷拍| 欧美性生交18XXXXX无码| 色五月婷婷五月天激情| 欧美日韩狠狠操在线观看视频| 人妻AV在线| 狠操在线| 狠狠躁日日躁夜夜躁A片小说免费| 国产精品秘国产精品88| 少妇搡BBBB搡BBB搡打电话| 中文无码在线观看| 国语对白做受欧美| 婷婷综合五月天| 中文字幕无码网站| 国产精品人妻无码久久久郑州天气网| 东京亚洲无码| 成人免费Av| 婷婷日韩| 婷婷狠狠| 亚洲字幕无码| 一级黄色免费看| 中文在线A∨在线| 国产性播放| 国产特黄| 日韩中文字幕在线观看| 欧美视频在线观看免费| 日日干天天射| 亚洲精品秘一区二区三小| 欧美成人无码一区二区三区| 午夜无码福利在线观看| 亚洲色婷婷五月| 亚洲人气无码AV| 成人三级电影| 北条麻妃无码观看| 加勒比精品在线| 国产97在线观看| 亚洲国产成人在线视频| 亚洲免费小电影| 91麻豆国产在线| 午夜视频99| 99免费视频| 国产77777| av无码网站| 五月天狠狠操| 免费看操片| 91精品国产乱码香蕉黄瓜草莓 | 99久久久国产精品无码| 91视频网站在线| 成人性爱视频在线播放| 操美女久久| 2024男人天堂| 成年人视频在线观看免费| 亚州加勒比无码| 激情婷婷 | 激情一区| 日韩中文在线观看| 先锋影音av在线| 国产在线观看AV| 久久久久性爱| 日本三级黄色| 国产操b视频| 五月丁香色播| 国产av中文| 操b视频在线播放| 国产成人久久精品麻豆二区| 老妇bbw| 欧美大香蕉伊人网| 免费看欧美日黄片| 午夜黄色视频| 中文字幕毛片| 香蕉久草| 国产精品一二区| 99热免费在线观看| 免费一级无码成人片| av岛国免费| 婷婷五月丁香色| 中文子幕免费毛片| 日日操网| 99亚洲天堂| 中文字幕乱码无码人妻系列蜜桃 | 中字一区人妻水多多| 成人国产精品秘在线看| 国产精品资源| 一区二区三区日韩| 人人草人人爱| 欧美性爱综合网| 国产无码高潮在线| 亚洲高清无码一区| 国产免费一区二区| 久久99精品久久久水蜜桃| 强伦轩一区二区三区四区| 日韩A∨视频| 五月婷婷六月香| 日本高清不卡视频| 亚洲日韩欧美一区二区天天天| 亚洲男人天堂视频| 大香蕉免费在线观看| 俺去俺来也| 青娱乐免费视频| 亚洲a电影| 竹菊传媒一区二区三区| 91极品视觉盛宴| 夜操操| 国产久久性爱| 艹美女视频| 亚洲综合人妻| 一区二区三区无码精品| 天天日av| 国产1级片| 四虎在线免费视频| 91久久无码一区人妻A片蜜桃| 婷婷五月天色综合| 香蕉视频日韩| 黄色免费av| 亚洲AV成人电影| 日韩欧美成人片| 国产c区| 99视频在线精品| 日韩免费不卡| 中文字幕乱码中文乱码91| 自拍亚洲欧美| 成人性爱视频在线播放| 97人妻人人澡人| 亚洲国产久久| 一二三区免费视频| 蜜臀无码在线| 欧美老司机| 久久精品99国产国产精| 久久久久久久久久久久成人| 免费观看的av| 人人上人人操| 无码在线播放视频| 欧美黄网站在线观看| 五月丁香综合网| 一级片在线观看视频| 91人人干| 99自拍视频| 欧美性猛交XXXX乱大交HD| 亚洲AV成人网| 中文字幕无码成人| 国产人妖TS重口系列网站观看| 亚洲无码免费播放| 九一国产| 久久久久无码国产精品不卡 | 久久波多野结衣| 一区二区三区在线免费观看 | 2025最新国产精品每日更新 | 中文字幕巨乱亚洲高清A片28| 四川乱子伦95视频国产| 躁BBB躁BBB添BBBBBB| 成人在线精品视频| 国产精品国产成人国产三级| 成人在线视频播放| 人妻无码免费视频| 91精品电影18| 北条麻妃在线无码| 国内夫妻【20p】| 日皮做爱视频网站| 日韩亚洲中文在线| www日本高清| 1024手机在线观看| www.av在线播放| 少妇搡BBBB搡BBB搡18禁| 无码逼逼| 激情国产AV| 青娱乐免费视频| 在线网址你懂的| 国产AV影片| 在线观看免费无码| 久久久久99精品成人网站| 中国操逼视频| 午夜精品无码| 伊人网视频在线观看| 四虎永久在线精品无码| 丝瓜视频污APP| av国产精品| 伊人久久久影视大全| 免费无码国产在线| 在线视频A| 美女视频毛片| 超碰性爱| 久操视频免费| 欧美成人a| 99香蕉视频| 欧美天天干| 91麻豆福利在线观看| 999国产精品视频| 国产成人视频| 天天插天天日| 黑人巨粗进入疼哭A片| 丰满人妻一区二区| 内射国产| 51成人网站免费| 懂色午夜福利一区二区三区| 人人操人人摸人人射| 91精品国产乱码久久久久| 四虎在线免费视频| 亚洲大片免费看| 亚洲乱| 婷婷99狠狠躁天天躁| 日韩在线视频免费观看| 日韩无任何视频在线观看| 在线观看亚州| 日韩成人无码电影网站| 亚洲少妇免费| 熟女视频91| 中文不卡视频| 国产啊啊啊| 99久久爱re热6在播放| 99精品一区二区| 五月天婷婷网站| 国产理论片在线观看| 欧美精品成人免码在线| 色婷婷电影| 午夜3D动漫AV| 欧美精品国产动漫| 熟女资源网| 影音先锋女人av噜噜色| 日韩欧美一| 亚欧毛片| 亚洲图片激情乱伦小说| 蜜桃视频成人版网站| 成人一区二区在线观看| 青草久久视频| 免费看一区二区三区| 特黄网站| 国产免费成人| 欧美成综合| 日韩AV中文字幕在线播放| 国产精品成人无码专区| 亚洲性爱网址| 人人做人人爱人人做人人乐的意思| 2012天天夜夜| 免费的黄色视频网站| 青娱乐免费视频| AV一区二区三区四区| 夜夜操夜夜爽| 91无码一区二区三区在线| 婷婷丁香花| 在线观看亚洲一区| 操逼电影网| 青青草手机视频| 国产操女人| 欧美老妇另类BBwBBw| 高清无码第一页| 欧美l∨视| 日韩在线视频免费观看| 亚洲精品三级在线观看| 456成人| 国产视频1区| 日韩乱伦电影| 蜜桃视频在线观看18| 成人黄网站免费观看| 久久国产亚洲| 牛牛影视av老牛影视av| 日韩高清一区| 精品久久91| 日韩中文字幕视频在线| 免费无码婬片AAAA片老婦| 三级a片| 懂色av| 亚洲免费av在线| 91精品国产一区二区| 欧美大香蕉在线视频| 波多野结衣黄色| 韩国三级无码| 欧美日韩一道本| 久久久久久久网站| 77777色婷婷| 色久悠悠综合网| 18啪啪网站| 日韩一级无码特黄AAA片| 伊人大香蕉在线视频| 青青草手机视频在线| 大香蕉综合在线观看| 无码不卡在线| 天天干天天添| 欧美精品xxx| 欧美A级成人婬片免费看| 能看的AV网站| 大香蕉一区二区三区| AV无码资源| 美女做爱视频网站| 99热在线观看精品免费| 91精品一区| 成人免费无码A片免费| 成人A∨| 色婷婷一级A片AAA毛片| 人人色人人色| 日日操天天操| AV网站在线免费观看| 青青草操逼视频| www.五月天婷婷| 俺也去官网| 亚洲国产精品成人久久蜜臀| 特级西西444www大胆免费看| 狠狠色噜噜狠狠狠7777米奇网| 国产成人亚洲综合AV婷婷| 最新无码视频| 国产一级a毛一级a毛片视频黑人| 欧美三级欧美三级三级| 操操干| 玩弄小怮女在线观看| 91在线无码精品秘软件| 三级片免费网址| 人人射人人操| 成人黄色网址| 天天日天天色天天干| 亚洲AV成人精品一区二区三区| 天天干夜夜操| 97超碰人人摸| 欧美日韩国产精品成人| 黄色A级片| 51成人精品午夜福利| 男女做爱网站| 四川少妇搡bbbbb搡多人| 天堂在线观看AV| 91丨PORNY丨对白| 熟女人妻人蜜桃视频| 777性爱| 国外成人性视频免费| 在线a视频| 蜜桃高清无码| 亚洲欧美成人在线视频| 国产XXXXX| 91av天堂| 91看片看婬黄大片女跟女| 波多野结衣视频在线| 中国A级片| 91麻豆精品在线观看| 午夜神马福利| 夜夜嗨av无码一区二区三区| 91人妻人人澡人人爽人人玩| 国产1区2区3区| 亚洲国产女人| 天天舔天天干| 色婷婷视频在线| 日韩中文字幕无码人妻| 日韩日日夜夜| 国产传媒三级| 成人无码日本动漫电影| 欧美久久性爱| 欧美精产国品一二三| 影音先锋色资源站| 免费人成网站| 久青草视频| 精品素人在线| 夜夜嗨av| 色偷偷综合| 婷婷国产精品视频| 免费看A| av日韩在线播放| 精品无码一区二区三区的天堂| www深夜成人a√在线| 精品狼友| 欧美性爱小说网| 91激情电影| 激情一级| 臭小子啊轻点灬太粗太长了的视频 | 良妇露脸15P| 日韩高清精品在线| 成人午夜在线观看| 欧美日韩操| 91蝌蚪在线视频| 一曲二曲三曲在线观看中文字| 日韩欧美综合一区| yw尤物视频| 欧美在线一区二区三区| 国产精品偷拍视频| 欧美三级美国一级| 五月婷婷色| 大香蕉久久伊人| 嫩草在线观看| 亚洲无码一区二区在线| 亚洲69p| 五夜福利成人视频| 国产精品秘ThePorn| 熟妇人妻中文字幕无码老熟妇| 91视频综合网| 亚洲福利在线观看视频| 做爱激情视频网站| a无码视频在线观看| 操碰97|