国产一区二区三区香蕉-2020国产成人精品视频-欧美日韩亚洲三区-www.91桃色-最美情侣中文第5季免费观看-久草毛片-国产成人精品av-男女猛烈拍拍拍无挡视频-中文字幕看片-色视频欧美一区二区三区-久久久久久久久久影院-一级a爱片久久毛片-精品久久久久久无码中文字幕一区-欧美色图网站-无码色偷偷亚洲国内自拍-国产一区在线免费观看

代寫Cloud Computing Spring 代做Automatically Scaling Web

時間:2024-03-26  來源:  作者: 我要糾錯


Cloud Computing Spring 2024
Assignment 1: Building an Automatically Scaling Web Application
Deadline: Monday, April 15, 2024
1 Aim and Scope
In this assignment we will build a small automatically scaling testbed for a (very) trivial Web
application. The goal of the assignment is to become familiar with all facets of scaling Web
applications, which will increase your understanding of the low-level / fundamental implementation
details of Cloud systems. As we have discussed in class, we could deploy such a web application
within a virtual machine or within containers. To keep things manageable on a single workstation,
or laptop, we will constrain ourselves to a single host and make use of containers. In order to
simulate saturated servers, the Web application will be single-threaded and can be rate limited on
purpose. Do note that this assignment can be implemented similarly using virtual machines, and
also can be easily extended to a distributed system consisting of multiple hosts. Both of these are
out of scope of this assignment however.
As has been discussed during the lectures, a number of components are required to create an
automatically scaling Web application. These components are summarized in the following figure:
Load
generator
("client")
Load
balancer
Web
application
container
Web
application
container
Web
application
container
...
Shared
data
internal
container
network
Scaling
controller
monitors
load balancer
instructs
container engine
to start/stop
instances
will run in container engine
As can be seen, the assignment is centered around a Web application, deployed in a container,
that can be scaled out when the incoming load requires so. A load balancer is used to balance
the load over multiple instances of the Web application (or a single instance if this is sufficient to
sustain the load). It is the responsibility of the scaling controller to monitor the incoming load
and to scale out or scale in when required. The load generator is used in experiments to evaluate
the system.
1
2 Requirements
The goal of this assignment is to create the setup as depicted in the above figure and to perform
a number of experiments. In a report that must accompany your submission, your setup needs to
be well documented, the architecture must be described, and must include the experiments that
have been conducted. As an actual Web application to scale you will be provided with a small
and trivial object store API. This application is single-threaded, can be rate limited on purpose
and can insert random delays in serving HTTP requests to mimic a server under load (both of
which are configurable). See Appendix A for details.
Within this assignment, you will be using podman as container engine. As described above,
we have chosen to use containers for this assignment because it is easier to work with than a
fully fledged virtual machine hypervisor and requires (significantly) less memory and disk space
for hosting multiple instances of the developed Web application. Some tips & tricks using podman
can be found in Appendix B.
The scaling controller and algorithm are to be designed and developed by you. You have free￾dom in designing the scaling algorithm. This algorithm can be rule-based, based on regression, or
use a sliding window, etc., etc. We recommend that you conduct a number of ‘calibration’ exper￾iments in conjunction with the development of the scaling algorithm (see also in the enumeration
below). The information obtained through calibration should be used to design and tune a scaling
algorithm for your scaling controller. For instance, design rules/thresholds for scaling decisions.
It might be worthwhile to first set a particular target response time, so to make a Service Level
Agreement, that you want to achieve also under increasing client load. Finally, the project is
concluded with a set of experiments to evaluate the effectiveness of your scaling controller.
The following table summarizes the requirements regarding the different system components:
Component Requirement
Web application Provided on Brightspace.
Container engine podman must be used.
Load balancer Required. You are allowed to write your own (simple) load balancer,
but are also free to pick an existing one such as HAProxy.
Load generator Required. You are allowed to either write your own request generator
or to use an existing one (e.g., jMeter (Java based) or Locust (Python
based)). We strongly recommend you to first design your experiments
and then see whether an existing project can be used to perform your
experiments.
Scaling controller Required. You must write your own scaling controller. Informa￾tion is to be collected from the load balancer and/or Web application
instances. The scaling decision is carried out by executing podman
commands or API calls. See also Appendix D. This scaling controller
is to be implemented in a programming language of choice.
With regard to the experiments to be conducted within the project and to be presented and
discussed in the report:
Experiment Description
Functionality test Perform a functionality experiment (or integration test) for the load
generator and container engine. This is to make sure that the basics
work well.
Calibration experi￾ments
Required. Conduct a number of calibration experiments. You likely
want to conduct these experiments in conjunction with developing your
scaling algorithm.
(a) Determine the saturation point of a single container. Play with rate
limiting and the random delays to see what effects this has on response
time (latency), request throughput, CPU utilization, etc.
2
(b) A similar experiment, with different amounts of containers, to get
an impression of how the performance would scale.
(c) Determine the time required to spawn new containers.
Final experiment Required. Conduct two meaningful final experiments that evaluate
and demonstrate the effectiveness of the automatic scaling that you
have implemented. These experiments must investigate the response
of the system to an increasing and decreasing number of client requests
as to demonstrate that the system will automatically scale out and in.
Investigate the response time of the scaling system and try to improve
this to show that the number of failed requests can be minimized or
(preferably) fully eliminated such that some SLA is adhered to. Things
to experiment with include changing the rules for scaling decisions used
by the scaling controller, optimizing the method or timing of spawning
new containers (such that they can be spawned in less time), reducing
oscillation, etc.
3 Development Environment
To work on this assignment you need administrative (root) access to a Linux installation. This
could be your own laptop or workstation, however we strongly recommend to create a dedicated
virtual machine for this assignment. You can use a setup similar to your setup for Homework 1.
Make sure to assign multiple cores to this virtual machine, this is important for the experiments.
The required disk space for the virtual machine depends on the OS you want to use within the
containers. In the case of the small Alpine OS, 4 to 5 GB should be enough, otherwise consider
10 GB. Document the Linux distribution used in your report.
4 Submission and Assessment
Teams may be formed that consist of at most two persons. In a team of two members, we
expect that both members contribute to the implementation of the system and execution of the
experiments. The deadline is Monday, April 15, 2024. Submit your assignments according to the
instructions below. In case there are problems with the team work, contact the lecturer by e-mail.
As part of the report you must list the contributions of each team member to the project.
The maximum grade that can be obtained is 10. The grade is the sum of the brackets. When
scoring each component we will consider whether the functionality is complete and works, as well
as own initiatives and ideas that clearly surpass the assignment’s requirements.
❼ [4 out of 10] Completeness and functionality of the submission.
❼ [2 out of 10] Quality of the content and layout of the report.
❼ [1 out of 10] Calibration experiments (design and report).
❼ [3 out of 10] Quality and depth of the conducted experiments to evaluate the effectiveness
of the scaling controller. This comprises the experimental design, implementation of the
necessary load generator, reporting and interpretation of the results.
Assignments must be submitted through Brightspace. For each team a single submission is
expected. Please note your names and student IDs in the text box in the submission website.
Ensure that all files that are submitted include names and student IDs.
3
The following needs to be submitted:
Web Application ❼ Listing of commands or Containerfile/Dockerfile to generate the con￾tainer image for the web application.
❼ Web application source, if modifications were made.
Load balancer ❼ Configuration file.
❼ If developed by yourself: source code.
❼ If run within a container, listing of commands or Containerfile or
Dockerfile to generate this container image.
Scaling controller ❼ Source code.
Request generator ❼ If developed by yourself: source code of the generator.
❼ Configuration files, and source code of associated extension modules
if required.
Report Report in PDF format (please no Word files), in which the following is
described:
❼ Description and explanation of the implemented architecture.
❼ Include your own system diagram that reflects your designed and
implemented architecture.
❼ Description of development environment (e.g. which Linux distribu￾tion was used in your virtual machine).
❼ Choices made during implementation.
❼ A clear explanation of the scaling policy design. Use a diagram or
concise pseudocode listing in your explanation.
❼ Report on the design and results of the ‘calibration’ experiments.
❼ Report on the design and the results of the conducted experiments
to evaluate the effectiveness of your scaling controller. This includes
motivation and implementation of a load generator.
❼ List the contributions made by each team member to the assignment,
so it is clear who worked on which parts. Note that we expect that
both team members contribute to the implementation of the system
and execution of the experiments.
Finally, please note the following:
❼ All submitted source code and reports may be subject to (automatic) plagiarism checks
using Turnitin and/or MOSS. Suspicions of fraud and plagiarism will be reported to the
Board of Examiners.
❼ The use of text or code generated by ChatGPT or other AI tools is not allowed. You are
required to implement the requested source code yourself, and to write the report yourself.
❼ We may always invite teams to elaborate on their submission in an interview in case parts
of the source code or report need further explanation.
❼ As with all other course work, keep assignment solutions to yourself. Do not post the code
on public Git or code snippet repositories where it can be found by other students. If you
use Git, make sure your repository is private.
Appendices
In these appendices we have collected some background information on the Web application that
is provided to you, a number of directions and suggestions for using Podman, and some general
tips and tricks for components of the assignment.
4
A Web Application API
As Web application you are provided with a trivial object store application based on a RESTful
API. The application is written in Python using the Flask web framework. Objects are stored
by name (key or object ID) in a directory on the file system. This object ID is unique. The
application only works with text files (so not with binary image or PDF files), keep that in mind
in case you want to experiment with large files.
To deploy the application within a container, we recommend to install Python 3 packages
within the container image first. After that, create a Python venv1 and install flask limiter
and flask restful using pip.
In order to make the containers that host the Web application stateless, an external directory
will be mounted within the containers (so all containers have access to the same external directory
and thus to the same collection of objects). To keep things simple we did not consider problems
arising from concurrent access to the objects such as race conditions (we will leave this for another
course).
The application allows rate limiting and random delays to be configured. These customization
opportunities are there to support the experiments to test the scaling functionality. For the
configuration of rate limiting, refer to the bottom of the source file of the web application. By
default random delays are introduced when serving HTTP requests, to mimic a server under load.
These can be configured (and also be disabled) using the variables just above the definition of the
function random delay.
The API implemented is as follows:
GET / Return a list of object IDs.
DELETE / Delete all objects.
GET /objs/<obj id> Return content of object with ID <obj id> or 404 if object
does not exist.
PUT /objs/<obj id> Store provided content within object with ID <obj id>.
Creates a new object if an object with this ID does not yet
exist, otherwise it overwrites the existing object.
DELETE /objs/<obj id> Delete the object with specified ID. Returns 404 if the spec￾ified object does not exist.
GET /objs/<obj id>/compress Return BZ2-compressed object in base64 encoding of object
with ID <obj id> or 404 if object does not exist.
B Working with podman
We will be using podman as container engine. podman automatically handles the virtual network
and additionally provides an easy way to store state outside of the containers in order to make
our container that hosts the Web application stateless — important to simplify scaling!
To install podman refer to your solution for Homework 1, or use the development virtual
image provided by us (see Brightspace). We strongly suggest to create all containers as the root
user, to ensure that networking performs as expected. In this case, containers will be stored in
/var/lib/containers. How much storage space you need depends on what Linux distribution
you want to use within your containers. If this is a tiny distribution like Alpine, then 200 to 300
MB storage space should be enough. If you want to use a distribution like Debian, Ubuntu or
CentOS, count on 2 to 3 GB.
B.1 Commands to create container images
podman can create containers using Dockerfiles (or Containerfiles with the same syntax). Many
use another tool called buildah (which actually came before podman) to build container images.
1https://docs.python.org/3/tutorial/venv.html
5
buildah can be installed on Ubuntu/Debian with a single apt-get install buildah, or dnf
install buildah on Red Hat derivatives. buildah can handle Dockerfiles, but can also build
images from scratch. An advantage of building images from scratch is that you have full control
and can optimize for size.
A new container image can be created from scratch by starting with a base OS image. After
image creation, commands can be run inside the container to continue configuration. For the
scaling web application, you will create containers that are based on a particular container image
(see later on).
In the interest of saving disk space, one can consider to use Alpine Linux. This is a (very)
small Linux distribution that is often used within containers. To initialize a new container image
based on Alpine Linux:
container=$(buildah from alpine)
Subsequently, we can run commands within the container2
:
buildah run $container -- ls /etc
Within the container, you might want to install additional packages (Python anyone?). The exact
instructions depend on the distribution you have selected. In case you are working with Alpine,
you can install Python 3 by executing the following commands:
buildah run $container -- apk update
buildah run $container -- apk add python3
You can search the package database as follows:
buildah run $container -- apk list ’*haproxy*’
(yes, Alpine also has HAProxy packages in case you want to create a container for your load
balancer).
Files can be copied into the container using the copy subcommand, e.g.:
buildah copy $container myfile.txt /root
Finally, it is important that the changes made are committed to a named image. In this case we
will use testcontainer as name. After commit, the image will be visible within podman as well.
buildah commit $container testcontainer
Note that the same can be achieved using a Dockerfile with RUN and COPY verbs. The command
to build containers from Dockerfiles is buildah bud.
Additional Resources For more information on buildah, refer to for instance:
https://appfleet.com/blog/everything-you-need-to-know-about-buildah/
https://github.com/containers/buildah/tree/main/docs/tutorials
B.2 Starting the Web application on container startup
Do not forget to ensure that your Web application is started on container startup. This can be
achieved by configuring a container command or entrypoint. For example, to start the Python
built-in webserver, which serves files from the specified directory, upon container start up:
buildah config --cmd "" $container
buildah config --entrypoint "python3 -m http.server 8000 --directory /tmp" $container
buildah commit $container testcontainer
2On Debian 11 this does not appear to work out of the box, the following environment variable is required:
export BUILDAH RUNTIME=/usr/bin/runc.
6
B.3 Starting container instances
From images, container instances can be started. Multiple container instances can be started
from a single image, and this is exactly what we need to ‘scale out’ the Web application. This is
achieved using the podman command. Note that this will not create full copies of the container
image, rather, the image remains read-only and an overlay file system is placed on top of it to
catch any writes.
The container for your Web application is supposed to be stateless. This implies that when
the container is no longer necessary (scale down), it can be safely deleted as no valuable data is
stored within the container. A special command line flag is present for this purpose, such that a
container is automatically deleted upon container shutdown. Using the following command, such
a container can be instantiated and the entrypoint will be launched automatically:
podman run --rm --name mycontainer testcontainer
As you can see the testcontainer image is used to create a container named mycontainer. You
will note that the container entrypoint process remains in the foreground. To avoid this, add the
-d command line flag.
The currently active containers can be inspected using the command podman ps. Now, how
can we access the Python process running on the internal container network? We need to retrieve
the internal IP address. To do so, you can use the command:
podman container inspect mycontainer
This gives a lot of information about the container. Search for IPAddress to obtain the internal
IP address. Through this IP, you should be able to access the Python webserver on port 8000.
You can also map the container’s port to the host port using the -p option. But note that in the
context of this assignment, you will only want to expose the port of the load balancer, the ports
of the Web application instances remain internal!
Finally, to stop a container you can use: podman stop.
B.4 Mounting a directory within a container
For the Web application you need to ensure that all containers have access to the same directory
in which the objects are stored. First make sure you have created such a directory on the host
(we use /srv/objects). In your container image, you want to create a mountpoint, for example
/objects. With this in place, add the following command line option to the podman run command
to mount the host directory /srv/objects within the container:
-v /srv/objects:/objects
C Suggestions on the load balancer
You may write your own load balancer or use an existing one such as HAProxy. As you may have
read above, Alpine does provide HAProxy packages. Therefore, it is relatively easy to set up a
container in which you can run the load balancer.
HAProxy allows you to read out statistics via HTTP. To enable this, you need to add a section
such as the following to the configuration file:
frontend stats
bind *:9999
stats enable
stats uri /stats
stats refresh 1s
7
After restarting HAProxy, you can connect to port 9999 to read statistics. For instance, con￾nect to http://10.0.3.6:9999/stats (of course replace the IP address with the correct one).
The following URL returns machine-readable CSV output, which will be useful for your scaling
controller: http://10.0.3.6:9999/stats;csv.
D Considerations for the scaling controller
The scaling controller consists of two parts that can be programmed independently (make good
use of your team’s resources) before these are integrated. The monitoring part should monitor the
load balancer and/or the container instances running the web application. It needs to retrieve the
information required to make scaling decisions (should we scale up, scale down? And if so by how
many instances?). Note that this refers to the Monitoring, Analysis and Planning phases of the
MAPE feedback loop. If you chose to use HAProxy, you can monitor the haproxy daemon which
has an option to provide you with statistics
The podman part needs to be capable of creating new container instances, stopping instances,
listing all instances (and their IP addresses) and all other container management utilities you
need in order to make the scaling controller work. This is the (final) Execution phase of the
MAPE loop. podman commands or API calls might be blocking by default, in which case you
want to look into asynchronous calls or multi-threading in order to make your scaling controller
more responsive. This way, you can continue monitoring, while the podman commands are being
executed in a different thread.
After instructing podman to start or stop a container, you also need to update the configuration
of the load balancer. How exactly this should be done depends on the load balancer have you
chosen to use. In the case of HAProxy there is no clear runtime API to update the list of
servers. The most straightforward way to achieve this is to have your scaling controller regenerate
the HAProxy configuration file, send this configuration to the load balancer container (or use a
volume mount?) and reload HAProxy. Hacky, but it works and it appears this is used in practice
(!).
podman can be controlled through shell commands, but also via its RESTful API. This API
is documented in detail: https://docs.podman.io/en/v3.2.3/_static/api.html.
While you can target this RESTful API directly, fortunately also language bindings exist for at
least Python and Go. We give a small example of the Python API. Before you can use this API,
the module needs to be installed with pip3 install podman.
Obtain a list of names of defined containers:
from podman import PodmanClient
client = PodmanClient(base_url="unix:///run/podman/podman.sock")
l = [c.name for c in client.containers.list()]
Get a handle on a container and if it is running print the IP addresses of this container3
:
from podman import PodmanClient
client = PodmanClient(base_url="unix:///run/podman/podman.sock")
c = client.containers.get("testcontainer")
if c.status == ’running’:
print(c.attrs[’NetworkSettings’][’Networks’][’podman’][’IPAddress’])
Containers can be stopped with the .stop() method. The method .wait(condition=’running’)
waits (blocking) until a container is running.
3The podman in the dictionary access is the name of the default container network, see the command podman
network ls.
8
The Python module has extensive documentation, use the help command in an interactive Python
shell. We could not find this documentation online.
E Testing the system
In order to test the completed system, you want to use a HTTP load generator. Options are
writing such a generator yourself, jMeter, Locust or something else you find to be suitable. For
your experiments it is important to first design your experiments and after that decide on a load or
traffic pattern generator to use. You do not want to be limited in your experiments by a previously
selected load generator.
Locust is Python-based and works as a command-line utility. First, you need to write a locust file
(refer to the website https://docs.locust.io/en/stable/quickstart.html for an example).
After that you can start locust:
locust -f mylocustfile.py --headless -u 10 -t 300s -r 0.5
Where -u configures the number of (concurrent) users, -t configures the runtime of the experiment
and -r configures the rate in which clients are spawned. The values for the parameters that are
given are just examples, you should set up your own experiment.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 














 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:菲律賓機場有什么保關服務?有哪些機場?華商簽證分享
  • 下一篇:返回列表
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網下載 歐冠直播 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    主站蜘蛛池模板: 三级精品视频 | 超碰碰碰碰 | 亚洲人人爱 | 善良的女邻居在线观看 | 亚洲专区av | 99午夜 | 五月天激情四射 | 婷婷6月天| 91精品国产色综合久久不卡98 | 成人激情视频 | 在线观看黄网站 | 麻豆国产在线 | 欧美日韩一级视频 | 久久久午夜视频 | 亚州男人的天堂 | 国产99久久久国产精品免费看 | 一区二区三区麻豆 | 欧美日批视频 | 91视频在线国产 | 吻胸摸激情床激烈视频大胸 | 亚洲黄色小说网 | 国产午夜精品一区二区理论影院 | 午夜九九九 | 五月激情婷婷丁香 | 免费成人在线观看视频 | 久久小视频 | 欧美日韩一卡二卡三卡 | 永久黄色免费网站 | 五月婷婷婷婷 | 久久综合久久综合久久综合 | 手机在线精品视频 | xxxx午夜| 星空大象在线观看免费播放 | 在线观看午夜视频 | 成人午夜免费在线观看 | 国产三级黄色 | 天天天天天天操 | 国产精品黄色网 | 一区二区三区视频 | 男人操女人的网站 | 在线观看欧美 | 国产suv精品一区二区69 | 久久久一区二区三区精品 | 天堂中文在线免费观看 | 波多野结衣在线视频播放 | 国产一区二区美女视频 | 国产午夜精品一区 | 亚洲影视在线观看 | 亚洲vs天堂| 国产日韩欧美中文 | 亚洲日本国产精品 | 五月婷婷激情 | 91精品国产高清一区二区三区蜜臀 | 免费一二区| 六月激情婷婷 | 国产精品乱轮 | 亚洲va欧美va久久久久久久 | 国产在线观 | 性视频毛片 | 亚洲国产精品成人综合久久久 | 亚洲第一二三区 | 国内精品99| 99免费精品视频 | 亚洲国产精品一区二区第一页 | 黄色片一级 | 国产日韩欧美精品 | 亚洲免费中文字幕 | 女人性做爰69片免费看 | 麻豆av一区二区三区 | 中文在线资源 | 欧美成人国产精品高潮 | 日韩不卡在线观看 | 国产字幕av| 97视频在线免费观看 | 在线视频观看一区 | 麻豆久久久久 | 天天超碰| 天天操人人 | 久久一久久 | 天天躁日日躁狠狠躁伊人 | 2018国产精华国产精品 | 天天操天天操天天操天天 | 欧美啪啪网站 | 2020国产精品视频 | 欧美激情免费在线观看 | 欧美国产中文字幕 | 午夜精品久久久久久久久久蜜桃 | 欧美一级高潮片 | 一区二区三区视频在线 | 奇米影视999 | 激情五月少妇a | 亚洲国产视频一区二区 | 欧美在线观看网站 | 狠狠狠狠狠狠狠干 | 久久93 | 99av视频| 校园春色av| 视色视频 | 好爽又高潮了毛片 | 精品久久久久成人码免费动漫 | 中国在线观看片免费 | 国产精品二区一区二区aⅴ 免费中文视频 | 中日韩无砖码一线二线 | 亚洲影视一区二区三区 | 欧美不卡 | 国产精品久久久久久久久久辛辛 | 久久国产精品免费一区二区三区 | 欧美激情999 | 久久精品视频网 | 国产女18毛片多18精品 | 亚洲欧美日韩国产一区二区 | 中文字幕激情视频 | 91尤物国产福利在线观看 | 日韩七区 | 亚洲两性视频 | 婷婷啪啪 | 午夜亚洲一区 | 欧美伊人网 | 久久人人爽爽人人爽人人片av | 美妇av| 日韩精品免费一区二区三区竹菊 | 亚洲天堂偷拍 | 亚洲欧美成人 | 国产精品久久av | 91在线视频在线观看 | 日韩不卡 | 日韩一区二区三区免费 | 精品国产乱码久久久久久影片 | 2024自拍偷拍 | 一区二区三区在线观看免费 | 成人午夜视频在线 | 亚洲精品一| 国产午夜精品一区二区三区四区 | 91亚洲国产成人精品一区二区三 | 人人天天夜夜 | 欧洲天堂网| 中文在线a√在线8 | 亚洲狼人综合 | 伊人22222| 91精品国产91久久久久久吃药 | 800av凹凸 | 国产午夜精品一区二区理论影院 | 中文日韩av | 精品动漫一区 | 色鬼久久 | 国产亚洲欧美一区二区 | 国产一级做a爰片在线看免费 | 伊人宗合 | 国产精品欧美综合亚洲 | 久久综合免费 | chinese精品自拍hd | 奇米99| 欧美成人二区 | 国产一级在线看 | 欧美大片免费观看 | 日本在线一区二区三区 | 一区二区不卡在线 | 亚洲精品自拍偷拍 | 91视频黄色 | 欧美二区视频 | 天使色吧| av狠狠操| 福利色导航 | av不卡在线看 | 国产精品一区av | 中文字幕在线观看网站 | 日日射日日操 | 精品国模| 久久夜色精品国产欧美乱 | 日本裸体xx少妇18在线 | 成色视频 | 国产精品网站在线观看 | 亚洲愉拍自拍 | 蜜桃视频日韩 | 欧美一区二区三区四 | 中文字幕免费观看视频 | 自拍第一页 | 岛国精品在线 | 法国性xxxx精品hd | 亚洲国产中文在线 | 日本人xxxⅹ18hd19hd | 欧美日韩在线观看免费 | 91精品国产综合久久香蕉最新版 | 亚洲图片一区二区三区 | 国产成人精品片 | 2018国产精华国产精品 | 99久久婷婷国产综合精品青牛牛 | 成人高潮片免费网站 | 少妇av一区二区三区 | 每日更新在线观看av | 日日夜夜天天综合 | 日产精品久久久久久久 | 国产亚洲欧美精品久久久久久 | 久久久久久久久黄色 | 激情婷婷六月 | 欧美色综合色 | 色伊伊 | 亚洲涩涩| 免费av在线网站 | 视频二区在线观看 | 麻豆av免费看 | 一区二区精品视频在线观看 | 日本在线播放一区 | 成人网在线看 | 国产黄色片视频 | 视频一区二区在线播放 | 中文字幕在线亚洲精品 | 黄色片视频网站 | 成人免费在线视频观看 | 国产一级片在线播放 | 亚洲视频a | 国产污视频在线看 | 成人午夜激情视频 | 日韩aa视频 | 亚洲欧美日韩另类 | 91高潮大合集爽到抽搐 | 亚洲精品久久久久久久久久吃药 | 国产一级一片 | 美女涩涩视频 | 九月婷婷 | 亚洲毛片在线观看 | 视频在线观看一区二区三区 | 亚洲第一福利网站 | 性色av一区二区三区 | 成人免费看片98 | 操网| 日韩一区二区三区在线 | 毛片一区二区三区 | 国产美女作爱视频 | 日韩一区二区不卡 | 99爱精品 | 1024精品一区二区三区日韩 | 尤物视频在线观看免费 | 日韩欧美亚洲一区二区 | 亚洲福利视频一区二区 | 久久成人国产精品入口 | 中文字幕自拍 | 欧美888| 欧美成人一区二区三区高清 | 日本免费网站在线观看 | 狠狠网 | 午夜影视在线观看 | 亚洲欧洲天堂 | www日本在线 | 丁香花免费高清完整在线播放 | 一区二区中文 | 精品欧美一区二区三区久久久 | 午夜视频在线 | 韩国精品av | 国产淫片| 岛国av大片| 中文字幕在线一 | 久久国产小视频 | av免费在线观看不卡 | 性欧美日本 | 亚洲品质自拍视频 | 亚洲成人国产 | 好吊操这里有精品 | 激情六月综合 | 国产青青操 | 99国产精品欧美久久久久久 | 香蕉网在线观看 | 久久综合干 | 久草视频福利在线 | 大香蕉毛片 | 亚洲欧美色图片 | 欧美一区二区在线 | 欧美大片免费看 | 97麻豆| 国产av无毛 | 九九九网站 | 国产精品日韩一区二区 | 特级av | 久久99精品一区二区三区 | 精品免费| 一区二区三区视频在线播放 | 天天天干干干 | 欧美黄色特级片 | 奇米第四色影视 | 黄色小视频在线播放 | 少妇av| 欧美亚洲国产日韩 | 久久久久成人精品 | 中文字幕色图 | 天天射视频 | 99久久99| 日日干狠狠干 | 牛人盗摄一区二区三区视频 | 亚洲123区| 中文字幕精品一区 | 高清在线一区二区 | 四虎网站在线观看 | av青青草原 | 天天干夜夜添 | 欧美日韩影院 | 椎名空在线观看 | 中文字幕精品一区二区精品 | 成人精品福利视频 | 亚洲aaa在线观看 | 免费色播| 五月天激情开心网 | 国产精品30p| 婷婷丁香激情 | 亚洲免费在线视频 | aⅴ精品av导航 | www.国产免费 | 国产精品99久久久久久一区二区 | 欧美在线视频精品 | 污污视频在线观看免费 | 国产精品久久久久精 | 国产一区二区小视频 | 久久99精品久久久久久国产越南 | 久久精品国产精品亚洲毛片 | 日韩福利一区二区 | 最近中文在线观看 | 国产特级黄色片 | 欧美激情精品久久 | 亚洲天天视频 | 一级小毛片 | 久久久久人人 | 九色自拍| 1024手机在线看片 | 日本xxxxxwwwww | 中文字幕 国产精品 | 日韩性xxxx| 91成人黄色 | 国产精品高潮久久 | 青青青在线视频 | 中文字幕一区在线观看 | 亚洲天堂网络 | 伊人免费在线观看 | 超碰人人爱 | 亚洲伊人影院 | 日本不卡一 | 爱操在线| 久久婷婷亚洲 | 九九精品视频在线观看 | 91精品国产福利在线观看 | 91爱爱影院 | 永久免费在线视频 | 亚州男人的天堂 | 性欧美视频 | 在线视频久 | 好吊日在线 | 天天噜夜夜噜 | ww黄色| 最新在线观看av | 他趴在我两腿中间添得好爽在线看 | 欧美日韩国产精品一区二区三区 | 三级视频网站 | 黄色男人的天堂 | 亚洲三级网站 | 亚洲国产中文字幕 | 丰满少妇乱子伦精品看片 | 三年中文在线观看中文版 | 麻豆蜜桃91| 91网站在线看 | 龚玥菲三级露全乳视频 | 性久久久久久久久 | 亚洲综合视频在线播放 | 天天看a | 午夜无遮挡 | 国产 日韩 欧美 成人 | 男男做爰猛烈啪啪高 | 久久久久1 | 国产欧美a | 日本精品一区二区三区四区的功能 | 超碰av男人的天堂 | 亚洲天堂少妇 | 日日夜夜精品视频免费 | 91麻豆视频 | 日韩激情在线播放 | 丁香婷婷久久 | 亚洲欧美综合另类 | 欧美成人免费视频 | 成年人免费看视频 | 成人黄色免费网站在线观看 | 日本毛片在线 | chinese真实伦对白露脸 | 玉足女爽爽91 | 亚洲国产一二三区 | 国产一区二区视频网站 | 99精品在线播放 | 欧美成人精品在线 | 自拍偷拍在线视频 | 欧美成人免费在线观看 | 国产第一精品 | 理论片午午伦夜理片影院99 | 欧产日产国产69 | 久久草网站 | www啪啪 | 91视频麻豆| 五月婷婷综合激情 | 夜色视频在线观看 | 男人亚洲天堂 | 久久五月天av| 视频区小说区 | 久99精品| 密臀av在线 | 亚洲黄a | 欧美亚洲国产精品 | 伊人超碰 | 黄色一级小说 | av片亚洲| 亚洲麻豆 | 禁断介护老人中文字幕 | 视频在线观看网站免费 | 欧美第一页草草影院 | 在线毛片网站 | 国产草逼视频 | av在线资源网 | 日韩在线观看不卡 | 天堂av影院| 777色婷婷视频二三区 | 小草av| 最新地址在线观看 | 天天摸日日 | 男女啪啪在线观看 | 亚洲视频在线一区 | 国产精品国产三级国产aⅴ中文 | 亚洲成人精品一区二区三区 | 欧美20p | 欧美日韩视频 | 奇米影视999 | 国产精品美女毛片真酒店 | 91精品国产综合久久福利 | 三级在线观看网站 | 亚洲视频中文 | 久久久久久一 | 超碰在线观看av | 精品国产乱码久久久久久108 | 粉嫩绯色av一区二区在线观看 | 麻豆国产一区二区三区四区 | 国产精品久久久久影院老司 | 欧美老肥妇做.爰bbww视频 | 99在线精品视频免费观看软件 | 影音先锋黄色网址 | 1024手机看片日韩 | 婷色| 国产精品国产三级国产aⅴ中文 | 九九视频免费看 | 日本视频免费看 | 日本美女黄色 | 日本一区二区视频在线 | 天天天干干干 | 中文字幕另类 | 99久国产 | japanese24hdxxxx日韩| 二级黄色大片 | 日韩精品中文字幕一区 | 黄色片一区 | 青青草97国产精品免费观看 | 国产一区黄色 | 日韩欧美中文字幕在线视频 | 欧美小视频在线观看 | 国产男女自拍 | 日韩国产一级 | 午夜精品久久久久久久99 | 在线观看免费高清视频 | 亚洲αv | 国产二页| 综合激情网站 | 午夜亚洲福利 | 成人看片黄a免费看视频 | 伊人久久超碰 | av激情在线| 欧美日日 | 日日拍夜夜拍 | 999亚洲欲妇 | 国产chinasex对白videos麻豆 | 日韩三级视频在线播放 | 老女人丨91丨九色 | 国产精品午夜影院 | 成人免费毛片片v | 毛片大片| 99久久久精品免费观看国产 | 国产麻豆乱码精品一区二区三区 | 国产国产精品 | 国产孕妇孕交大片孕 | 亚洲色大成网站www 国产四区视频 | 国产美女精品一区二区三区 | 久久久久久久久久久97 | 欧美粗暴se喷水 | 中文字幕一区二区三区四区视频 | 亚洲综合欧美日韩 | 66国产精品| 免费观看一区 | 艳母日本动漫在线观看 | 色站综合 | 午夜精品一区二区在线观看 | 日韩精品区 | 天堂成人在线观看 | 国产精品久久久久久久久久 | 97成人免费 | 日韩美女视频网站 | 免费99精品国产自在在线 | 日韩欧美专区 | 国产精品国产三级国产专播i12 | 亚洲污网站 | aaa在线播放 | 草久视频在线观看 | 国产三区在线播放 | 久久视频国产 | 久草中文在线观看 | 日韩免费观看一区二区 | 午夜影视大全 | 亚洲欧美视频 | 干片网在线 | 奇米99| 久久久sm调教网站 | 韩日午夜在线资源一区二区 | 亚洲麻豆视频 | 黄色图片小说 | 97色婷婷| 中文字幕人乱码中文字 | 欧美成人精品一区二区三区在线看 | 又黄又爽又色的视频 | 麻豆久久久久 | 国产www精品 | 亚洲13p| 极品xxxx欧美一区二区 | 国产视频久久久 | 日本精品久久久久久久 | 国产精品女同一区二区 | 99re6热在线精品视频播放 | 黑人与日本少妇高潮 | 四房婷婷| 久久99精品久久久水蜜桃 | 国产成人看片 | 大学生第一次破女处视频国产 | 最新国产在线拍揄自揄视频 | 精品一区欧美 | 久久久久97| 香蕉综合在线 | 伊人久久一区二区 | 5566色 | 三级黄色短视频 | 欧美成人一区二区 | 一级做a爱片久久毛片a高清 | 成人免费网站在线播放 | 国产人澡人澡澡澡人视频 | 三级视频黄色 | 91亚洲国产成人久久精品麻豆 | 在线观看av资源 | 日韩成人看片 | 茄子视频懂你更多在线观看 | 青青草视频播放器 | 3d欧美精品动漫xxxx无尽 | 中文字幕免费高清网站 | 日韩毛片一区 | 亚洲欧美日韩综合在线 | 亚洲天堂自拍偷拍 | 国产精品资源网 | a天堂在线观看 | 五月天婷婷在线视频 | 国产精品美女毛片真酒店 | 国内精品一区二区三区 | 国产精品视频亚洲 | 手机看片一区二区 | 97精品久久人人爽人人爽 | 精品98| 金瓶狂野欧美性猛交xxxx | 欧美日韩一二三四区 | 九色porn| 欧美日韩在线网站 | 97碰碰碰 | 亚洲yy | av色婷婷 | 精品久久视频 | 亚洲一区免费看 | 又粗又硬的毛片aaaaa片 | 嫩草在线观看视频 | 天天干夜夜撸 | 成年人晚上看的视频 | 日韩av一区在线 | 婷婷六月在线 | 亚洲福利在线观看视频 | 天堂在线一区二区 | 天天躁日日躁狠狠躁喷水 | www.色国产| 一级黄网站 | 欧美一级淫片免费视频黄 | 久久网址| 日本亚洲最大的色成网站www | 亚洲揄拍窥拍久久国产自揄拍 | 久久99精品久久久久久无毒不卡8 | 国产成人激情视频 | 日本一区二区三区四区视频 | 欧美日韩国产专区 | 四虎影视黄色 | 一区二区三区毛片 | 操小妹影视 | 亚洲高清精品视频 | 中文字幕精品视频 | 国产sm主人调教女m视频 | 清纯粉嫩极品夜夜嗨av | 国产国语对白 | 波多野结衣视频网址 | 99久久国产精 | 狠狠草视频 | 国产成人综合视频 | 黄色一级视频 | 伊久久| 天天看av | 8x8ⅹ国产精品一区二区 | www一级片| 国产伦精品一区二区三区在线观看 | av大帝| 亚洲va国产va天堂va久久 | jizzjizz日本人| 久久久久在线视频 | 日韩在线欧美 | 精品一区二区三区免费毛片爱 | www奇米影视com | 韩国av一区二区三区 | 超碰精品 | 欧美成人黄色网 | 国产伦精品一区二区三区免费迷 | 国产成人亚洲综合a∨婷婷 精品久久久久久国产 | 中国特级黄色大片 | 色综合图区| 日韩免费观看一区二区 | 久久免费视频一区二区 | 精品视频免费在线观看 | 国产麻豆精品在线观看 | 亚洲精品中文字幕在线观看 | 精品自拍偷拍 | 欧美激情免费在线观看 | 日韩一区二区三区在线 | 日韩免费看片 | 亚洲性在线 | 狠狠干夜夜爽 | 中文字幕人乱码中文 | 91最新在线视频 | 午夜色婷婷 | 久久久av一区二区三区 | 激情网久久 | 国产成人精品一区二区三区免费 | 欧美囗交做爰视频 | 92av视频 | 国产小视频在线观看免费 | 国产乱论视频 | 色综合久久久久久久 | 尹人成人 | 福利视频在线免费观看 | 日本不卡视频在线 | 天天射网站 | 久久精品美女 | 国色天香婷婷综合网 | 精品久久久久久亚洲 | av大片免费在线观看 | 欧美综合色 | 嫩草国产精品 | 影音先锋三级 | 日日网 | 视频在线观看一区二区三区 | 性xxxx视频播放免费 | 91久久爱 | 国产又粗又黄又爽又硬 | 午夜在线国产 | 色网站在线免费观看 | 欧美精品成人 | 亚洲不卡视频在线观看 | 麻豆91精品 | 久久精品成人热国产成 | 欧美日韩xxx | 青娱乐毛片 | 91久久精 | 免费在线观看日韩av | 久久r热视频 | 国产男女猛烈无遮挡免费观看网站 | 国产精品二 | 久热精品视频 | 免费看黄色大片 | 成人黄色av网站 | 国产精品毛片一区二区三区 | 日本污视频在线观看 | 一级免费在线观看 | 99免费在线观看视频 | 男女污视频 | 久久亚洲综合 | 99精品一区 | 视频一区国产 | 91丨九色丨黑人外教 | www.成人网.com | 琪琪色网 | 欧美国产日韩一区二区 | 久久久久久久久久久久久久久久久久 | 欧美日韩免费在线观看 | 亚洲精品成人a | 成人欧美一区二区三区在线播放 | 毛片动漫 | 亚洲影视在线 | 国产无遮挡免费视频 | 91免费网址 | 污污网站在线 | 色涩久久 | 久久精品久久久久久久 | 一本色道综合久久欧美日韩精品 | 日本精品久久久久 | 亚洲日本免费 | 给我看高清的视频在线观看 | 超碰国产人人 | 亚洲 小说区 图片区 都市 | 久久三级视频 | 久久澡| 天天爱天天爽 | 激情四射婷婷 | 亚洲美女免费视频 | 日韩av网站在线 | 亚洲九九夜夜 | 欧美综合社区 | 日韩一区欧美 | 99午夜视频 | 久久精品免费看 | 欧美成人免费在线视频 | 国产精品99久久99久久久二 | 午夜视频成人 | 91tv在线| 日韩av在线天堂 | 又黄又爽又色的网站 | 日本一区二区三区在线播放 | 淫语在线观看 | 黄视频在线观看免费 | 老司机亚洲精品 | 韩日av一区二区 | 欧美另类高清videos的特点 | 亚洲精品国产精品国自产在线 | 欧美在线你懂的 | 色婷婷一区二区三区 | 久久久久久91亚洲精品中文字幕 | 日本久久片| 伊人春色网| 亚洲专区 变态 另类 | www.国产视频 | 玉足女爽爽91 | 亚洲欧美自偷自拍 | 波多野结衣一本 | 久久久青草 | 一级理论片在线观看 | 国产成人tv | 中文字幕在线看片 | 成人亚洲精品久久久久 | 在线观看97 | av天天射 | 蜜桃精品在线 | 国产欧美在线免费观看 | 天天操夜夜草 | 中文字字幕码一二三区 | 久久尤物免费一区二区三区 | 欧美一级做a爰片免费视频 日本三级精品 | 一级片免费在线播放 | 爽爽窝窝午夜精品一区二区 | 91天堂在线 | 老色批网站 | 婷婷九月 | 少妇高潮一区二区三区99 | 国产精品刘玥久久一区 | 欧美成人午夜精品免费 | www.奇米| 亚洲精品国产成人 | 巨大黑人极品videos精品 | 国产日韩在线观看视频 | 黄色免费毛片 | 91精品国产成人www | 91日韩欧美 | 中文字幕日韩av | 亚洲精品1区2区3区 国产免费一级视频 | 成人三级在线播放 | 国产三级久久久久 | 黄色正能量网站 | 网站在线免费观看 | 亚洲视频在线观看一区 | 国产伦精品一区二区三区精品 | 国产综合精品视频 | 麻豆国产在线 | 亚洲综合成人专区片 | 成人公开免费视频 | 国产伦精品一区二区三区在线观看 | 黄色高清视频在线观看 | 日韩精品黄 | 91亚洲国产精品 | 久久天天操 | 国产乱xxxxx国语对白 | 成人看片| 国产猛男猛女超爽免费视频 | 九九精品在线观看 | 日韩少妇精品 | 亚洲性欧美色 | 嫩草影院一区二区三区 | 日韩激情网址 | 日韩精品在线观看一区 | 成年性生交大片免费看 | 超碰加勒比 | 亚洲成人手机在线 | 男人天堂2021 | 午夜aa| 自拍第1页 | 日韩三区在线观看 | av首页在线 | 91麻豆精品国产91久久久久久 | 在线观看黄av | 中文字幕一区一区三区 | 日本吃奶摸下激烈网站动漫 | 欧美成年网站 | 国产精品2区 | 久久精品这里只有精品 | 黄色成人毛片 | 欧美在线视频免费播放 | 99爱视频在线观看 | 欧美成人一级视频 | 亚洲欧美激情另类 | 黑人与日本少妇高潮 | 中文字幕在线网 | 亚洲调教欧美在线 | 女人天堂网站 | 久久久在线免费观看 | 国产黄在线 | 国产对白受不了了中文对白 | 97在线观视频免费观看 | 五月天丁香 | 一级片一级片一级片一级片 | 操啊操 | 情涩快播| 99久在线精品99re8热 | 亚洲欧洲一区二区三区 | 日韩久久视频 | 亚洲福利在线观看视频 | 欧美三级网| 欧美黄色精品 | 欧美特级毛片 | 九九热最新视频 | 再深点灬舒服灬太大了快点91 | 夜夜性日日交xxx性视频 | 91精品视频在线播放 | 亚洲精品乱码久久久久久金桔影视 | 色噜噜在线观看 | 亚洲天堂视频在线免费观看 | 国产精品青青草 | 少妇日皮视频 | 三级在线观看网站 | 精品视频在线观看免费 | 国产视频黄色 | av一区不卡 | 亚洲国产日韩a在线播放性色 | 91精品视频观看 | www.99re7.com| 日日操夜夜爽 | 毛片a级片 | 日韩久久网 | 亚洲人成在线观看 | 日婷婷| 在线观看免费国产 | 小视频在线免费观看 | 那个网站可以看毛片 | 色一情一乱一乱一区91av | wwwwyoujizzcom| 国产又粗又猛又色又 | 亚洲免费激情 | 欧美色图在线视频 | 久久久蜜桃一区二区人 | 国产a一区 | 国产精视频 | 成人亚洲一区 | 国产伦精品一区 | 亚洲欧洲第一页 | 麻豆国产在线 | 可以看av的网址 | 成年人黄色免费网站 | 国产精品久久片 | 毛片网站在线观看 | 中文字幕在线视频免费观看 | xxxx在线播放 | 国产精品久久影院 | 91男女视频| 91漂亮少妇露脸在线播放 | 在线观看色网站 | 好av在线| 自拍偷拍亚洲欧美 | 中文字幕成人在线 | 国产日韩一区 | www.中文字幕av | 欧美日韩不卡视频 | 秋霞啪啪片 | 精品国产乱码一区二区三 | 波多野结衣一区二区三区在线 | 中文字幕少妇 | 久久久久久a | 一区二三国产好的精华液视频 | 国产精品第三页 | 国产激情一区 | melody在线高清免费观看 | 亚洲天堂伊人 | 久久久精品一区二区三区 | 超碰日日干 | 天天操天天操天天干 | 91尤物在线 | 欧美区亚洲区 | 毛片av在线| 日日综合 | 亚洲综合视频在线观看 | 亚洲激情久久 | av资源网站 | 欧美bbbbbbbbbbbb精品 | 国产精品视频免费在线观看 | 欧美亚洲国产精品 | 自拍色视频 | 国产精品主播视频 | 日本久久伊人 | 一区二区三区波多野结衣 | 青娱乐国产在线 | 淫具馆(重口调教sm)小说 | 国产aⅴ爽av久久久久成人 | 日韩精品免费视频 | 69产性猛交xxxx乱大交 | 日本三级中文字幕 | 久久久久久久综合 | 总受合集lunjian双性h | 国产精品刘玥久久一区 | 经典一区二区三区 | 国产寡妇一级农村野外战 | 九九综合九九综合 | 国产福利在线观看视频 | 国语粗话呻吟对白对白 | 欧美激情第三页 | 丰满少妇在线观看网站 | 最新久久久 | a√天堂资源 | 人人草av | 深夜av在线 | av在线成人 | 尤物视频网站在线观看 | 日本成人在线免费 | 成人精品二区 | 黄色aaaa| 成人国产片 | 国产免费美女 | 久久片 | 超碰成人97 | 2021国产精品视频 | 久久网伊人 | 国产有码| 91桃色视频| 中国女人和老外的毛片 | 在线精品视频观看 | 一级日韩片 | 天天爽夜夜| 久久精品亚洲一区 | 日产精品久久久久久久 | 欧美日韩国产三区 | 鲁丝av | 亚洲欧美一级 | 99久久综合国产精品二区 | 超碰在线资源 | 日韩一区二 | 麻豆av一区二区三区 | 亚洲乱码国产乱码精品精天堂 | 亚洲第一视频在线播放 | 麻豆91精品 | 精品国产乱码久久久久久1区2区 | 一级片在线观看免费 | 久久免费中文字幕 | 日本学生初尝黑人巨免费视频 | 在线免费成人 | 99热这里只有精品在线 | 91欧美日韩 | 91av在线视频观看 | 在线观看www视频 | 在线免费观看成人 | 天天操天天操天天操天天 | 日韩欧美毛片 | 香蕉尹人网 | 黄色片免费视频 | 国产精品久久久久久久久图文区 | 国产伦精品一区二区三区四区免费 | 五月伊人婷婷 | 99热这里只有精品首页 | 人人爽久久涩噜噜噜网站 | 中文字幕在线视频免费观看 | 欧美视频在线观看一区二区三区 | 另类性姿势bbwbbw | 黄色小说图片视频 | 五月激情综合网 | 午夜综合网 | 天堂精品一区二区三区 | 精品在线观看视频 | 波多野在线播放 | 性色av浪潮 | 污污的视频软件 | 日韩视频在线播放 | 亚洲天堂国产 | 桃色av网站| 国产天堂精品 | 找国产毛片看 | 欧美一区二区三区在线看 | 四虎黄色影院 | 在线观看成年人视频 | 久久久久久久久91 | 久草热在线观看 |