色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

優(yōu)化 Stable Diffusion 在 GKE 上的啟動(dòng)體驗(yàn)

谷歌開發(fā)者 ? 來(lái)源:未知 ? 2023-06-03 08:35 ? 次閱讀

以下文章來(lái)源于谷歌云服務(wù),作者 Google Cloud

背景


現(xiàn)如今隨著 AIGC 這個(gè)話題越來(lái)越熱,越來(lái)越多優(yōu)秀的開源項(xiàng)目基于文生圖的 AI 模型如 MidJourney,Stable Diffusion 等應(yīng)運(yùn)而生。Stable Diffusion 是一個(gè)文字生成圖像的 Diffusion 模型,它能夠根據(jù)給定任何文本輸入生成逼真的圖像。我們?cè)?GitHub Repo 中提供了三種不同的解決方案 (可參考https://github.com/nonokangwei/Stable-Diffusion-on-GCP),可以快速地分別在 GCP Vertex AI,GKE,和基于 Agones 的平臺(tái)上部署 Stable Diffusion,以提供彈性的基礎(chǔ)設(shè)施保證 Stable Diffusion 提供穩(wěn)定的服務(wù)。本文將重點(diǎn)討論 Stable Diffusion 模型在 GKE 上的實(shí)踐。


提出問(wèn)題


在實(shí)踐中,我們也遇到了一些問(wèn)題,例如 Stable Diffusion 的容器鏡像較大,大約達(dá)到 10-20GB,導(dǎo)致容器在啟動(dòng)過(guò)程中拉取鏡像的速度變慢,從而影響了啟動(dòng)時(shí)間。在需要快速擴(kuò)容的場(chǎng)景下,啟動(dòng)新的容器副本需要超過(guò) 10 分鐘的時(shí)間,嚴(yán)重影響了用戶體驗(yàn)。



我們看到容器的啟動(dòng)過(guò)程,按時(shí)序排列:

觸發(fā) Cluster Autoscaler 擴(kuò)容 + Node 啟動(dòng)并調(diào)度 Pod: 225s

啟動(dòng) Pull Image:4s

拉取鏡像: 5m 23s

啟動(dòng) Pod:1s

能夠提供 sd-webui 的服務(wù) (大約): > 2m


在這段時(shí)序分析中,我們可以看到,在 Stable Diffusion WebUI 運(yùn)行在容器上啟動(dòng)慢主要面臨的問(wèn)題是由于整個(gè) runtime 依賴較多,導(dǎo)致容器鏡像太大從而花費(fèi)了很長(zhǎng)時(shí)間拉取下載、也造成了 pod 啟動(dòng)初始化加載時(shí)間過(guò)長(zhǎng)。于是,我們考慮優(yōu)化啟動(dòng)時(shí)間從以下三個(gè)方面入手:

優(yōu)化 Dockerfile,選擇正確的 base image,精簡(jiǎn) runtime 的依賴安裝,減小鏡像大小。

借助基礎(chǔ)環(huán)境與 runtime 依賴分離方式,通過(guò)磁盤復(fù)制方式加速運(yùn)行環(huán)境的創(chuàng)建。

通過(guò) GKE Image Streaming 優(yōu)化鏡像加載時(shí)間,利用 Cluster Autoscaler 提升彈性擴(kuò)縮容速度。


本文著重為大家介紹通過(guò)基礎(chǔ)環(huán)境與 runtime 依賴分離方式,借助磁盤復(fù)制的高性能來(lái)優(yōu)化 Stable Diffusion WebUI 容器啟動(dòng)時(shí)間的方案。


優(yōu)化 Dockerfile


首先,我們可以參考官方 Stable Diffusion WebUI 安裝說(shuō)明,生成其 Dockerfile。在這里給大家一個(gè)參考: https://github.com/nonokangwei/Stable-Diffusion-on-GCP/blob/main/Stable-Diffusion-UI-Agones/sd-webui/Dockerfile


在初始構(gòu)建的 Stable Diffusion 的容器鏡像中,我們發(fā)現(xiàn)除了基礎(chǔ)鏡像 nvidia runtime 之外,還安裝了大量的庫(kù)和擴(kuò)展等。


▲調(diào)優(yōu)之前容器鏡像大小為 16.3GB


在 Dockerfile 優(yōu)化方面,我們對(duì) Dockerfile 進(jìn)行分析后,發(fā)現(xiàn) nvidia runtime 約占 2GB,而 PyTorch 庫(kù)是一個(gè)非常大的包,約占 5GB。另外 Stable Diffusion 及其擴(kuò)展等也占據(jù)了一定的空間。因此,我們按照最小可用環(huán)境為原則,去除環(huán)境中不必要的依賴。將 nvidia runtime 作為基礎(chǔ)鏡像,然后把 PyTorch、Stable Diffusion 的庫(kù)和擴(kuò)展等從原始鏡像中分離出來(lái),單獨(dú)存放在文件系統(tǒng)中。


以下是初始的 Dockerfile 的片段。


# Base image

FROM nvidia/cuda:11.8.0-runtime-ubuntu22.04


RUN set -ex &&

apt update &&

apt install -y wget git python3 python3-venv python3-pip libglib2.0-0 pkg-config libcairo2-dev &&

rm -rf /var/lib/apt/lists/*


# Pytorch

RUN python3 -m pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117



# Stable Diffusion

RUN git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

RUN git clone https://github.com/Stability-AI/stablediffusion.git /stable-diffusion-webui/repositories/stable-diffusion-stability-ai

RUN git -C /stable-diffusion-webui/repositories/stable-diffusion-stability-ai checkout cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf



# Stable Diffusion extensions

RUN set -ex && cd stable-diffusion-webui

&& git clone https://gitcode.net/ranting8323/sd-webui-additional-networks.git extensions/sd-webui-additional-networks

&& git clone https://gitcode.net/ranting8323/sd-webui-cutoff extensions/sd-webui-cutoff

&& git clone https://ghproxy.com/https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor.git extensions/stable-diffusion-webui-dataset-tag-editor


我們?cè)谝瞥?Pytorch 的庫(kù)和 Stable Diffusion 之后,我們只保留了基礎(chǔ)鏡像 nvidia runtime 在新的 Dockerfile 中。


FROM nvidia/cuda:11.8.0-runtime-ubuntu22.04

RUN set -ex &&

apt update &&

apt install -y wget git python3 python3-venv python3-pip libglib2.0-0 &&

rm -rf /var/lib/apt/lists/*


▲基礎(chǔ)鏡像變成了 2GB


其余的運(yùn)行時(shí)類庫(kù)和 extension 等存放在磁盤鏡像中,磁盤鏡像的大小為 6.77GB。采用磁盤鏡像的好處是,它可以最多支持同時(shí)恢復(fù) 1,000 塊磁盤,完全能滿足大規(guī)模擴(kuò)縮容的使用場(chǎng)景。



掛載磁盤到 GKE 節(jié)點(diǎn)


然而,問(wèn)題來(lái)了,如何將這個(gè)單獨(dú)的文件系統(tǒng)掛載到容器運(yùn)行時(shí)中呢?一種想法是使用 Persistent VolumeClaim (PVC) 進(jìn)行掛載,但由于 Stable Diffusion WebUI 在運(yùn)行時(shí)既需要讀取又需要寫入磁盤,而 GKE 的 PD CSI 驅(qū)動(dòng)程序目前不支持多寫入 ReadWriteMany,只有像 Filestore 這樣的 NFS 文件系統(tǒng)才能支持,但是通過(guò)網(wǎng)絡(luò)掛載的 Filestore 就延遲來(lái)說(shuō)仍然無(wú)法達(dá)到快速啟動(dòng)的效果。同時(shí),由于 GKE 目前不支持在創(chuàng)建或更新 Nodepool 時(shí)掛載磁盤,所以我們考慮使用 DaemonSet 在 GKE 節(jié)點(diǎn)啟動(dòng)時(shí)掛載磁盤。具體做法如下:



那么如何將磁盤掛載到 GKE 的節(jié)點(diǎn)上呢?可以直接調(diào)用 Cloud SDK,創(chuàng)建基于磁盤鏡像的磁盤。


gcloud compute disks create sd-lib-disk-$NOW --type=pd-balanced --size=30GB --zone=$ZONE --image=$IMAGE_NAME


gcloud compute instances attach-disk ${MY_NODE_NAME} --disk=projects/$PROJECT_ID/zones/$ZONE/disks/sd-lib-disk-$NOW --zone=$ZONE


利用 GKE Image Streaming

和 Cluster Autoscaler


另外,正如我們前面提到的那樣,在優(yōu)化鏡像下載和加載時(shí)間方面,我們還啟用了 GKE Image Streaming 來(lái)加速鏡像的拉取速度。它的工作原理是使用網(wǎng)絡(luò)掛載將容器數(shù)據(jù)層掛載到 containerd 中,并在網(wǎng)絡(luò)、內(nèi)存和磁盤上使用多個(gè)緩存層對(duì)其進(jìn)行支持。一旦我們準(zhǔn)備好 Image Streaming 掛載,您的容器就會(huì)在幾秒鐘內(nèi)從 ImagePulling 狀態(tài)轉(zhuǎn)換為 Running (無(wú)論容器大小);這有效地將應(yīng)用程序啟動(dòng)與容器映像中所需數(shù)據(jù)的數(shù)據(jù)傳輸并行化。因此,您可以看到更快的容器啟動(dòng)時(shí)間和更快速的自動(dòng)縮放。


我們開啟了 Cluster Autoscaler 功能,讓有更多的請(qǐng)求到來(lái)時(shí),GKE 節(jié)點(diǎn)自動(dòng)進(jìn)行彈性擴(kuò)展。通過(guò) Cluster Autoscaler 觸發(fā)并決定擴(kuò)展到多少個(gè)節(jié)點(diǎn)來(lái)接收新增的請(qǐng)求。當(dāng) CA 觸發(fā)了新的一輪擴(kuò)容,新的 GKE 節(jié)點(diǎn)注冊(cè)到集群以后,Daemonset 就會(huì)開始工作,幫助掛載存儲(chǔ)了 runtime 依賴的磁盤鏡像,而 Stable Diffusion Deployment 則會(huì)通過(guò) HostPath 來(lái)訪問(wèn)這個(gè)掛載在節(jié)點(diǎn)上的磁盤。


我們還使用了 Cluster Autoscaler 的 Optimization Utilization Profile 來(lái)縮短擴(kuò)縮容時(shí)間、節(jié)省成本并提高機(jī)器利用率。


最后的啟動(dòng)效果如下:



按時(shí)序排列

觸發(fā) Cluster Autoscaler 擴(kuò)容:38s

Node 啟動(dòng)并調(diào)度 Pod:89s

掛載 PVC:4s

啟動(dòng) Pull Image:10s

拉取鏡像:1s

啟動(dòng) Pod:1s

能夠提供 sd-webui 的服務(wù) (大約): 65s


總共經(jīng)歷了大約 3 分鐘的時(shí)間,就完成了啟動(dòng)一個(gè)新的 Stale Diffusion 容器實(shí)例,并在一個(gè)新的 GKE 節(jié)點(diǎn)上進(jìn)行正常服務(wù)的過(guò)程。相比于之前的 12 分鐘,可以看見,明顯的提升啟動(dòng)速度改善了用戶體驗(yàn)。


完整代碼: https://github.com/nonokangwei/Stable-Diffusion-on-GCP/tree/main/Stable-Diffusion-UI-Agones/optimizated-init


通過(guò) VolumeSnapshot


除了掛載 Disk 到 GKE 節(jié)點(diǎn)上,還有一種嘗試,我們可以使用 StatefulSet 來(lái)掛載 PVC。


具體做法如下:先定義一個(gè) storageclass,注意我們使用DiskImageType: images來(lái)指定 PVC從 Disk Image 來(lái)恢復(fù),而不是 Snapshot。


Snapshot 每 10 分鐘只能恢復(fù)一次,一小時(shí)以內(nèi)恢復(fù) 6 次 Disk 的限制。

而 Image 可以支持每 30 秒恢復(fù)一次,最多 1,000 個(gè) Disk。

apiVersion: snapshot.storage.k8s.io/v1

kind: VolumeSnapshotClass

metadata:

name: image-class

driver: pd.csi.storage.gke.io

deletionPolicy: Delete

parameters:

DiskImageType: images

再定義一個(gè) VoluemSnapShotContent,它指定了 source 為一個(gè) Disk Image sd-image


apiVersion: snapshot.storage.k8s.io/v1

kind: VolumeSnapshotContent

metadata:

name: test-snapshotcontent-from-image

spec:

deletionPolicy: Retain

driver: pd.csi.storage.gke.io

volumeSnapshotClassName: image-class

source:

snapshotHandle:projects/flius-vpc-2/global/images/sd-image

volumeSnapshotRef:

name: test-snapshot

namespace: default


接下來(lái),我們?cè)賱?chuàng)建一個(gè) VolumeSnapShot,指定它的 source 是剛剛定義的VoluemSnapShotContent。


apiVersion: snapshot.storage.k8s.io/v1

kind: VolumeSnapshot

metadata:

name: test-snapshot

namespace: default

spec:

source:

volumeSnapshotContentName:test-snapshotcontent-from-image


最后,我們創(chuàng)建一個(gè) StatefulSet 來(lái)掛載這個(gè) VolumeSnapShot。


apiVersion: apps/v1

kind: StatefulSet

metadata:

name: stable-diffusion-statefulset-image

labels:

app: stable-diffusion

spec:

podManagementPolicy: "Parallel"

replicas: 1

selector:

matchLabels:

app: stable-diffusion

template:

metadata:

labels:

app: stable-diffusion

spec:

containers:

- name: stable-diffusion-webui

image: us-central1-docker.pkg.dev/flius-vpc-2/stable-diffusion-repo/sd-webui-final:0.1

command: ["/bin/bash"]

args: ["-c", "source /runtime-lib/bin/activate; cp/user-watch.py /runtime-lib/stable-diffusion-webui/user-watch.py;cp/start.sh /runtime-lib/stable-diffusion-webui/start.sh; cd /runtime-lib/stable-diffusion-webui; python3 launch.py --listen --xformers --enable-insecure-extension-access--no-gradio-queue" ]

volumeMounts:

- mountPath: "/runtime-lib"

name: runtime-lib

resources:

limits:

nvidia.com/gpu: 1

ports:

- containerPort: 7860

volumeClaimTemplates:

- metadata:

name: runtime-lib

spec:

dataSource:

name: test-snapshot

kind: VolumeSnapshot

apiGroup: snapshot.storage.k8s.io

accessModes: [ "ReadWriteOnce" ]

storageClassName: "standard-rwo"

resources:

requests:

storage: 30Gi


我們嘗試擴(kuò)容更多的副本。


kubectl scale statefulset stable-diffusion-statefulset-image --replicas=15


可見 GKE 可以支持并行的啟動(dòng)這些 Pod,并且分別掛載相應(yīng)的磁盤。



PersistentVolumeClaims



完整代碼:

https://github.com/Leisureroad/volumesnapshot-from-diskimage


最終,我們可以看見如下的 Stable Diffusion 的 WebUI。






?點(diǎn)擊屏末||了解更多 Google Cloud 技術(shù)趨勢(shì)與最新解讀


原文標(biāo)題:優(yōu)化 Stable Diffusion 在 GKE 上的啟動(dòng)體驗(yàn)

文章出處:【微信公眾號(hào):谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6161

    瀏覽量

    105302

原文標(biāo)題:優(yōu)化 Stable Diffusion 在 GKE 上的啟動(dòng)體驗(yàn)

文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何開啟Stable Diffusion WebUI模型推理部署

    如何開啟Stable Diffusion WebUI模型推理部署
    的頭像 發(fā)表于 12-11 20:13 ?92次閱讀
    如何開啟<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> WebUI模型推理部署

    主板優(yōu)化PCIe通道設(shè)置

    主板優(yōu)化PCIe通道設(shè)置是提升系統(tǒng)性能的重要步驟,以下是具體的優(yōu)化建議: 一、了解主板和PCIe規(guī)格 查閱主板手冊(cè) :首先,需要了解主板支持的PCIe版本(如PCIe 3.0、PC
    的頭像 發(fā)表于 11-06 09:30 ?1569次閱讀

    DRA7xx器件的Android啟動(dòng)優(yōu)化

    電子發(fā)燒友網(wǎng)站提供《DRA7xx器件的Android啟動(dòng)優(yōu)化.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:41 ?0次下載
    DRA7xx器件<b class='flag-5'>上</b>的Android<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>優(yōu)化</b>

    使用TPS61178x優(yōu)化啟動(dòng)的環(huán)路補(bǔ)償

    電子發(fā)燒友網(wǎng)站提供《使用TPS61178x優(yōu)化啟動(dòng)的環(huán)路補(bǔ)償.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 09:58 ?0次下載
    使用TPS61178x<b class='flag-5'>優(yōu)化</b><b class='flag-5'>啟動(dòng)</b>的環(huán)路補(bǔ)償

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    其他設(shè)計(jì)經(jīng)驗(yàn)的推薦策略列表。 單擊“Start Recipe”開始優(yōu)化。如果在云運(yùn)行,則應(yīng)同時(shí)運(yùn)行多個(gè)編譯以減少時(shí)間。 優(yōu)化過(guò)程和結(jié)果 第一輪(“熱
    發(fā)表于 08-16 19:56

    實(shí)操: 如何在AirBoxStable Diffusion 3

    StableDiffusion3Medium是一種多模態(tài)擴(kuò)散變換器(MMDiT)文本到圖像模型,圖像質(zhì)量、排版、復(fù)雜提示理解和資源效率方面具有顯著提升的性能。目前瑞莎團(tuán)隊(duì)
    的頭像 發(fā)表于 07-23 08:34 ?244次閱讀
    實(shí)操: 如何在AirBox<b class='flag-5'>上</b>跑<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> 3

    4.3s,Linux快速啟動(dòng)優(yōu)化方法分享,基于全志T113-i國(guó)產(chǎn)平臺(tái)!

    系統(tǒng)資源浪費(fèi),例如電力和硬件資源。而優(yōu)化啟動(dòng)時(shí)間可節(jié)省這些資源,從而提高系統(tǒng)的效率和可靠性。另外,某些嵌入式系統(tǒng)和設(shè)備中,啟動(dòng)時(shí)間對(duì)于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要,因此盡可能縮短
    發(fā)表于 07-09 11:50

    OpenHarmony之開機(jī)優(yōu)化

    對(duì)其進(jìn)行詳細(xì)的性能分析,從而優(yōu)化系統(tǒng)啟動(dòng)速度和運(yùn)行效率。 三丶開機(jī)優(yōu)化 開機(jī)優(yōu)化的主要目的是為了快速啟動(dòng)開機(jī)動(dòng)畫和退出開機(jī)動(dòng)畫(顯示桌面)。
    發(fā)表于 07-01 16:39

    設(shè)置應(yīng)用冷啟動(dòng)優(yōu)化案例

    應(yīng)用,詳細(xì)介紹如何進(jìn)行冷啟動(dòng)的性能優(yōu)化。 AppSpawn 預(yù)加載 可以通過(guò)預(yù)加載一些so,加快冷啟動(dòng)的速度。預(yù)加載so 配置appspawn_preload.json文件中。 文件
    發(fā)表于 04-22 16:31

    UL Procyon AI 發(fā)布圖像生成基準(zhǔn)測(cè)試,基于Stable Diffusion

    UL去年發(fā)布的首個(gè)Windows版Procyon AI推理基準(zhǔn)測(cè)試,以計(jì)算機(jī)視覺(jué)工作負(fù)載評(píng)估AI推理性能。新推出的圖像生成測(cè)試將提供統(tǒng)一、精確且易于理解的工作負(fù)載,用以保證各支持硬件間公平、可比的性能表現(xiàn)。
    的頭像 發(fā)表于 03-25 16:16 ?875次閱讀

    韓國(guó)科研團(tuán)隊(duì)發(fā)布新型AI圖像生成模型KOALA,大幅優(yōu)化硬件需求

    由此模型的核心在于其運(yùn)用了“知識(shí)蒸餾”(knowledge distillation)技術(shù),這使得開源圖像生成工具Stable Diffusion XL可大幅縮小其規(guī)模。原Stable Dif
    的頭像 發(fā)表于 03-01 14:10 ?619次閱讀

    Stability AI試圖通過(guò)新的圖像生成人工智能模型保持領(lǐng)先地位

    Stability AI的最新圖像生成模型Stable Cascade承諾比其業(yè)界領(lǐng)先的前身Stable Diffusion更快、更強(qiáng)大,而Stable
    的頭像 發(fā)表于 02-19 16:03 ?934次閱讀
    Stability AI試圖通過(guò)新的圖像生成人工智能模型保持領(lǐng)先地位

    MCU電不啟動(dòng)的可能原因分析

    GD32 MCU,BOOT引腳決定了MCU的啟動(dòng)方式,通常BOOT0引腳下拉時(shí)是flash啟動(dòng),如果BOOT電平不對(duì)就不會(huì)執(zhí)行我們下載的程序了。
    發(fā)表于 01-12 17:08 ?2066次閱讀
    MCU<b class='flag-5'>上</b>電不<b class='flag-5'>啟動(dòng)</b>的可能原因分析

    MCU為什么電不啟動(dòng)

    相信很多朋友們都遇到過(guò),自信滿滿的將程序下載到板子,發(fā)現(xiàn)MCU居然沒(méi)啟動(dòng)。 那這個(gè)現(xiàn)象可能有很多問(wèn)題會(huì)導(dǎo)致,讓我們來(lái)看看會(huì)有哪些原因。
    的頭像 發(fā)表于 01-11 09:41 ?1096次閱讀
    MCU為什么<b class='flag-5'>上</b>電不<b class='flag-5'>啟動(dòng)</b>

    一種新的分割模型Stable-SAM

    SAM、HQ-SAM、Stable-SAM提供次優(yōu)提示時(shí)的性能比較,Stable-SAM明顯優(yōu)于其他算法。這里也推薦工坊推出的新課程《如何將深度學(xué)習(xí)模型部署到實(shí)際工程中?
    的頭像 發(fā)表于 12-29 14:35 ?665次閱讀
    一種新的分割模型<b class='flag-5'>Stable</b>-SAM
    主站蜘蛛池模板: 国产欧美精品一区二区三区-老狼| 999精品免费视频| 少妇无码吹潮久久精品AV网站| 嗨嗨快播电影| 超碰97人人做人人爱少妇| 伊人久久大香网| 天天射天天爱天天干| 欧美18videosex| 好男人视频免费高清在线观看www| 成人欧美一区二区三区白人| 孕交videosgratis乌克兰| 午夜精品国产自在现线拍| 奇虎成人网| 免费观看成人www精品视频在线| 国产又色又爽又刺激在线播放| 大陆老太交xxxxxhd在线| 99精品观看| 中文字幕在线观看网址| 亚洲一级毛片免费在线观看| 午夜看片a福利在线观看| 日韩精品欧美在线视频在线| 免费。色婬网站| 久久热国产在线视频| 狠狠狠色丁香婷婷综合久久| 国产小视频在线高清播放| 国产高清免费视频免费观看| 二色AV天堂在线| 二级片免费看| 国产精品久久毛片A片软件爽爽 | 美女黄图大全| 榴莲推广APP网站入口下载安装 | CHINSEFUCKGAY无套| 97色伦图片7778久久| 97在线看视频福利免费| 0855午夜福利伦理电影| 中文字幕在线视频网站| 123超碰在线视频| 99国产精品免费视频| 99视频这里只有精品| yellow片在线观看免费观看动漫| WWW国产精品内射老师|