精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Reli:PHP性能分析利器,生成PHP性能火焰圖

開發(fā) 前端
首先你需要理解SIGHUP(終端掛起信號)是一種信號,當(dāng)關(guān)閉控制終端時,它會終止Linux進程。如果意外關(guān)閉終端或失去與主機的連接,所有正在運行的進程將被自動終止。

Reli 是一個用PHP編寫的采樣分析器(或VM狀態(tài)檢查器)。它可以從進程外部讀取有關(guān)運行PHP腳本的信息。它是一個獨立的CLI工具,因此目標(biāo)程序不需要任何修改。

能做什么?

  • 檢測和可視化PHP腳本中的瓶頸。它不僅提供函數(shù)級的分析,而且還提供行級或操作碼級的解析
  • 即使調(diào)用了很多快速函數(shù),也不會產(chǎn)生累積開銷的分析,因為這是一個采樣分析器
  • 調(diào)查bug或性能故障的原因。即使PHP腳本處于無法解釋的無響應(yīng)狀態(tài),您也可以使用它來找出它在內(nèi)部做什么。
  • 查找內(nèi)存瓶頸或內(nèi)存泄漏

如何工作?

  • 解析解釋器的ELF二進制文件
  • 從 /proc/<pid>/maps讀取內(nèi)存映射
  • 通過FFI使用ptrace(2)和process_vm_readv(2)來讀取外部進程的內(nèi)存
  • 分析PHP虛擬機(又名Zend Engine)中的內(nèi)部數(shù)據(jù)結(jié)構(gòu)

需求

  • PHP 8.1+(NTS/ZTS)
  • 64bit Linux x86_64
  • 必須啟用FFI擴展(編譯增加配置--with-ffi)
  • 必須啟用PCNTL擴展

安裝

git clone git@github.com:reliforp/reli-prof.git
cd reli-prof
/usr/local/php-8.2.14/bin/php /home/www/build/composer.phar install
/usr/local/php-8.2.14/bin/php ./reli

使用

1、獲取跟蹤配置

www@ShaoBoWan:~/build/reli-prof$ /usr/local/php-8.2.14/bin/php ./reli inspector:trace --help
Description:
  periodically get call trace from an outer process or thread

Usage:
  inspector:trace [options] [--] [<cmd> [<args>...]]

Arguments:
  cmd                                        command to execute as a target: either pid (via -p/--pid) or cmd must be specified
  args                                       command line arguments for cmd

Options:
  -p, --pid=PID                              process id
  -d, --depth[=DEPTH]                        max depth
  -s, --sleep-ns[=SLEEP-NS]                  nanoseconds between traces (default: 1000 * 1000 * 10)
  -r, --max-retries[=MAX-RETRIES]            max retries on contiguous errors of read (default: 10)
  -S, --stop-process[=STOP-PROCESS]          stop the target process while reading its trace (default: off)
      --php-regex[=PHP-REGEX]                regex to find the php binary loaded in the target process
      --libpthread-regex[=LIBPTHREAD-REGEX]  regex to find the libpthread.so loaded in the target process
      --php-version[=PHP-VERSION]            php version (auto|v7[0-4]|v8[0123]) of the target (default: auto)
      --php-path[=PHP-PATH]                  path to the php binary (only needed in tracing chrooted ZTS target)
      --libpthread-path[=LIBPTHREAD-PATH]    path to the libpthread.so (only needed in tracing chrooted ZTS target)
  -t, --template[=TEMPLATE]                  template name (phpspy|phpspy_with_opcode|json_lines) (default: phpspy)
  -o, --output=OUTPUT                        path to write output from this tool (default: stdout)
  -h, --help                                 Display help for the given command. When no command is given display help for the list command
  -q, --quiet                                Do not output any message
  -V, --version                              Display this application version
      --ansi|--no-ansi                       Force (or disable --no-ansi) ANSI output
  -n, --no-interaction                       Do not ask any interactive question
  -v|vv|vvv, --verbose                       Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

2、守護模式啟動

www@ShaoBoWan:~/build/reli-prof$ /usr/local/php-8.2.14/bin/php ./reli inspector:daemon --help
Description:
  concurrently get call traces from processes whose command-lines match a given regex

Usage:
  inspector:daemon [options]

Options:
  -P, --target-regex=TARGET-REGEX            regex to find target processes which have matching command-line (required)
  -T, --threads[=THREADS]                    number of workers (default: 8)
  -d, --depth[=DEPTH]                        max depth
  -s, --sleep-ns[=SLEEP-NS]                  nanoseconds between traces (default: 1000 * 1000 * 10)
  -r, --max-retries[=MAX-RETRIES]            max retries on contiguous errors of read (default: 10)
  -S, --stop-process[=STOP-PROCESS]          stop the target process while reading its trace (default: off)
      --php-regex[=PHP-REGEX]                regex to find the php binary loaded in the target process
      --libpthread-regex[=LIBPTHREAD-REGEX]  regex to find the libpthread.so loaded in the target process
      --php-version[=PHP-VERSION]            php version (auto|v7[0-4]|v8[0123]) of the target (default: auto)
      --php-path[=PHP-PATH]                  path to the php binary (only needed in tracing chrooted ZTS target)
      --libpthread-path[=LIBPTHREAD-PATH]    path to the libpthread.so (only needed in tracing chrooted ZTS target)
  -t, --template[=TEMPLATE]                  template name (phpspy|phpspy_with_opcode|json_lines) (default: phpspy)
  -o, --output=OUTPUT                        path to write output from this tool (default: stdout)
  -h, --help                                 Display help for the given command. When no command is given display help for the list command
  -q, --quiet                                Do not output any message
  -V, --version                              Display this application version
      --ansi|--no-ansi                       Force (or disable --no-ansi) ANSI output
  -n, --no-interaction                       Do not ask any interactive question
  -v|vv|vvv, --verbose                       Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

案例

這里跟蹤一個webman框架進程

www@ShaoBoWan:~/build/webman01$ php start.php status
Workerman[start.php] status 
----------------------------------------------GLOBAL STATUS----------------------------------------------------
Workerman version:4.0.37          PHP version:8.0.7
start time:2024-01-01 00:19:33   run 0 days 0 hours   
load average: 0.07, 0.12, 0.98   event-loop:\Workerman\Events\Event
2 workers       3 processes
worker_name  exit_status      exit_count
webman       0                0
monitor      0                0
----------------------------------------------PROCESS STATUS---------------------------------------------------
pid memory  listening           worker_name  connections send_fail timers  total_request qps    status
2184553 0.65M   http://0.0.0.0:8787 webman       0           0         0       0             0      [idle]
2184554 0.65M   http://0.0.0.0:8787 webman       0           0         0       0             0      [idle]
2184555 0.57M   none                monitor      0           0         1       0             0      [idle]
----------------------------------------------PROCESS STATUS---------------------------------------------------
Summary 0M      -                   -            0           0         1       0             0      [Summary]

1、跟蹤腳本

/usr/local/php-8.2.14/bin/php ./reli i:trace -- php -r "fgets(STDIN);"

0 fgets <internal>:-1
1 <main> Command line code:1

0 fgets <internal>:-1
1 <main> Command line code:1

...

2、附加到正在運行的進程

sudo /usr/local/php-8.2.14/bin/php ./reli i:trace -p 2184553

[sudo] password for www: 
0 EventBase::loop <internal>:-1
1 Workerman\Events\Event::loop /home/www/build/webman01/vendor/workerman/workerman/Events/Event.php:193
2 Workerman\Worker::run /home/www/build/webman01/vendor/workerman/workerman/Worker.php:2435
3 Workerman\Worker::forkOneWorkerForLinux /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1555
4 Workerman\Worker::forkWorkersForLinux /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1397
5 Workerman\Worker::forkWorkers /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1371
6 Workerman\Worker::runAll /home/www/build/webman01/vendor/workerman/workerman/Worker.php:549
7 <main> /home/www/build/webman01/start.php:112

...

3、獲取進程內(nèi)存地址

sudo /usr/local/php-8.2.14/bin/php ./reli i:eg -p 2184553

0x55e17fe1b1a0

4、跟蹤當(dāng)前進程正在執(zhí)行的操作碼

如果用戶想分析一個真正的CPU受限的應(yīng)用程序,那么他或她不僅想知道哪一行是慢的,還想知道操作碼是什么。在這種情況下,使用 --template=phpspy_with_opcode 與 inspector:trace 或 inspector:daemon 。

sudo /usr/local/php-8.2.14/bin/php ./reli i:trace --template=phpspy_with_opcode -p 2184553

輸出如下所示:

0 EventBase::loop <internal>:-1
1 Workerman\Events\Event::loop /home/www/build/webman01/vendor/workerman/workerman/Events/Event.php:193:ZEND_DO_FCALL
2 Workerman\Worker::run /home/www/build/webman01/vendor/workerman/workerman/Worker.php:2435:ZEND_DO_FCALL
3 Workerman\Worker::forkOneWorkerForLinux /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1555:ZEND_DO_FCALL
4 Workerman\Worker::forkWorkersForLinux /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1397:ZEND_DO_FCALL
5 Workerman\Worker::forkWorkers /home/www/build/webman01/vendor/workerman/workerman/Worker.php:1371:ZEND_DO_FCALL
6 Workerman\Worker::runAll /home/www/build/webman01/vendor/workerman/workerman/Worker.php:549:ZEND_DO_FCALL
7 <main> /home/www/build/webman01/start.php:112:ZEND_DO_FCALL

...

當(dāng)前執(zhí)行的操作碼成為調(diào)用堆棧的第一幀。因此,像火焰圖這樣的可視化跟蹤可以顯示操作碼的使用情況。

出于信息目的,執(zhí)行操作碼也被添加到調(diào)用幀的每一端。除了第一個幀,函數(shù)調(diào)用的操作碼(如ZEND_DO_FCALL)應(yīng)該出現(xiàn)在那里。如果在目標(biāo)流程中啟用了JIT,則此信息可能會稍微不準(zhǔn)確。

火焰圖

火焰圖是由 Brendan Gregg 發(fā)明的一種可視化方法,用于展示某一種系統(tǒng)資源或性能指標(biāo),是如何定量分布在目標(biāo)軟件里所有的代碼路徑上的。

  • 系統(tǒng)資源指標(biāo)可以是 CPU 時間、off-CPU 時間、內(nèi)存使用、硬盤使用、延時等任何其他你能想到的資源。
  • 代碼路徑 可以定義為目標(biāo)軟件代碼中的調(diào)用棧軌跡。調(diào)用棧軌跡通常是由一組函數(shù)調(diào)用幀組成的,通常出現(xiàn)在 GDB 命令 bt 的輸出中,以及 Python 或 Java 程序的異常錯誤信息當(dāng)中。比如下面是一個 PHP 調(diào)用棧軌跡的樣例:
C:ngx_http_lua_ngx_timer_at
at
cache.lua:43
cache.lua:record_timing
router.lua:338
router.lua:route
v2_routing.lua:1214
v2_routing.lua:route
access_by_lua.lua:130

1、Psalm 靜態(tài)檢查

Psalm 是一個用于PHP的開源靜態(tài)分析工具,可以幫助識別代碼中明顯的和難以識別的bug。Psalm既適用于大型遺留代碼庫,也適用于小型現(xiàn)代代碼庫,可以幫助防止絕大多數(shù)類型相關(guān)的runtime 錯誤,并且能夠利用其他語言中流行的安全編碼模式。Psalm還可以自動修復(fù)發(fā)現(xiàn)的許多錯誤以改進代碼。

cd /home/www/build/reli-prof

sudo /usr/local/php-8.2.14/bin/php ./reli i:trace -o traces -- /usr/local/php-8.2.14/bin/php ./vendor/bin/psalm.phar --no-cache

Install the opcache extension to make use of JIT on PHP 8.0+ for a 20%+ performance boost!

Target PHP version: 8.1 (inferred from composer.json) Enabled extensions: ffi.
Scanning files...
Analyzing files...

????????????????????????????????????????????????????????????  60 / 421 (14%)
???????????????????????????????????????????????????????????? 120 / 421 (28%)
???????????????????????????????????????????????????????????? 180 / 421 (42%)
???????????????????????????????????????????????????????????? 240 / 421 (57%)
???????????????????????????????????????????????????????????? 300 / 421 (71%)
???????????????????????????????????????????????????????????? 360 / 421 (85%)
???????????????????????????????????????????????????????????? 420 / 421 (99%)
?
------------------------------
                              
       No errors found!       
                              
------------------------------

Checks took 7.42 seconds and used 134.539MB of memory
Psalm was able to infer types for 99.9825% of the codebase

以上會輸出一個traces文件,大概內(nèi)容如下

0 array_merge <internal>:-1
1 Psalm\Internal\Analyzer\Statements\Expression\SimpleTypeInferer::handleArrayItem phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Analyzer/Statements/Expression/SimpleTypeInferer.php:398
2 Psalm\Internal\Analyzer\Statements\Expression\SimpleTypeInferer::inferArrayType phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Analyzer/Statements/Expression/SimpleTypeInferer.php:292
3 Psalm\Internal\Analyzer\Statements\Expression\SimpleTypeInferer::infer phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Analyzer/Statements/Expression/SimpleTypeInferer.php:210
4 Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner::visitClassConstDeclaration phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/PhpVisitor/Reflector/ClassLikeNodeScanner.php:760
5 Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner::start phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/PhpVisitor/Reflector/ClassLikeNodeScanner.php:451
6 Psalm\Internal\PhpVisitor\ReflectorVisitor::enterNode phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/PhpVisitor/ReflectorVisitor.php:116
7 _HumbugBox427cd2d3980b\PhpParser\NodeTraverser::traverseArray phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:176
8 _HumbugBox427cd2d3980b\PhpParser\NodeTraverser::traverseNode phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:105
9 _HumbugBox427cd2d3980b\PhpParser\NodeTraverser::traverseArray phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:196
10 _HumbugBox427cd2d3980b\PhpParser\NodeTraverser::traverse phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:85
11 Psalm\Internal\Scanner\FileScanner::scan phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Scanner/FileScanner.php:51
12 Psalm\Internal\Codebase\Scanner::scanFile phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Codebase/Scanner.php:398
13 Psalm\Internal\Codebase\Scanner::scanAPath phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Codebase/Scanner.php:547
14 Psalm\Internal\Codebase\Scanner::scanFilePaths phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Codebase/Scanner.php:310
15 Psalm\Internal\Codebase\Scanner::scanFiles phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Codebase/Scanner.php:220
16 Psalm\Config::visitComposerAutoloadFiles phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Config.php:1840
17 Psalm\Internal\Analyzer\ProjectAnalyzer::visitAutoloadFiles phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php:249
18 Psalm\Internal\Analyzer\ProjectAnalyzer::check phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php:335
19 Psalm\Internal\Cli\Psalm::run phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/src/Psalm/Internal/Cli/Psalm.php:272
20 <main> phar:///home/www/build/reli-prof/vendor/psalm/phar/psalm.phar/psalm:7
21 <main> /home/www/build/reli-prof/vendor/psalm/phar/psalm.phar:14
22 <main> /home/www/build/reli-prof/vendor/bin/psalm.phar:119

2、生成火焰圖

sudo /usr/local/php-8.2.14/bin/php ./reli c:flamegraph <traces  >flame.svg

使用瀏覽器打開預(yù)覽flame.svg 圖片

圖片圖片

下來生成一個webman的

Workerman[start.php] status 
----------------------------------------------GLOBAL STATUS----------------------------------------------------
Workerman version:4.1.9          PHP version:7.4.16
start time:2023-12-22 22:56:56   run 9 days 3 hours   
load average: 0.04, 0.03, 0.09   event-loop:\Workerman\Events\Select
----------------------------------------------PROCESS STATUS---------------------------------------------------
pid memory  listening           worker_name  connections send_fail timers  total_request qps    status
15456 16.42M  http://0.0.0.0:7788 webman       0           0         3       939           0      [idle]
----------------------------------------------PROCESS STATUS---------------------------------------------------
Summary 131M    -                   -            0           0         28      9191          0      [Summary]

pid = 15456

sudo /usr/local/php-8.2.14/bin/php ./reli i:trace -p 15456 -o traces-15456 -- /usr/local/php-8.2.14/bin/php ./vendor/bin/psalm.phar --no-cache

sudo /usr/local/php-8.2.14/bin/php ./reli c:flamegraph <traces-15456  >flame-15456.svg

一個簡單Workerman火焰圖到手啦!

圖片圖片

其他

google-chrome安裝(非必要)

下載

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
--2023-12-31 10:43:53--  https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Resolving dl.google.com (dl.google.com)... 120.253.253.225
Connecting to dl.google.com (dl.google.com)|120.253.253.225|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104953176 (100M) [application/x-debian-package]
Saving to: ‘google-chrome-stable_current_amd64.deb’

google-chrome-stable_current_amd64.deb                  100%[==============================================================================================================================>] 100.09M  11.9MB/s    in 7.4s    

2023-12-31 10:44:00 (13.5 MB/s) - ‘google-chrome-stable_current_amd64.deb’ saved [104953176/104953176]

安裝

sudo apt install ./google-chrome-stable_current_amd64.deb

FFI

PHP編譯安裝啟用FFI擴展(編譯增加配置--with-ffi)時出現(xiàn)錯誤No package 'libffi' found,檢查后發(fā)現(xiàn)是因為缺少libffi庫文件,利用以下命令安裝,解決問題:

sudo apt install libffi-dev

proc_open 無權(quán)限問題

PHP Warning:  proc_open(): Exec failed: Permission denied in /home/www/build/reli-prof/src/Command/Converter/FlameGraphCommand.php on line 44
PHP Warning:  proc_open(): Exec failed: Permission denied in /home/www/build/reli-prof/src/Command/Converter/FlameGraphCommand.php on line 55

賦予reli-prof目錄執(zhí)行權(quán)限

sudo chmod 0775 -R /home/www/build/reli-prof


責(zé)任編輯:武曉燕 來源: 開源技術(shù)小棧
相關(guān)推薦

2015-08-18 11:44:02

PHP性能分析宏觀分析

2015-09-14 10:41:51

PHP性能分析微觀分析

2023-05-30 09:07:06

CPU性能火焰圖

2011-12-02 08:51:19

PHP

2012-11-23 13:09:38

PHP性能

2009-12-09 17:33:22

PHP性能優(yōu)化

2012-05-24 10:09:52

ibmdw

2009-12-04 13:54:11

PHP JSON互轉(zhuǎn)函

2015-10-28 13:30:15

PHP7性能揭秘

2014-07-16 10:02:51

PHPPHP 5.7

2015-09-18 11:29:50

PHP7革新性能

2015-12-11 14:02:02

php應(yīng)用

2009-11-27 13:24:20

PHP代碼性能優(yōu)化

2024-02-01 09:21:08

RevoltPHP高性能

2025-11-05 01:11:00

PHP高性能Linux

2009-12-10 17:02:50

PHP站點性能

2011-07-09 23:24:57

PHP

2011-07-10 00:29:18

PHP

2021-07-17 15:25:05

PHP 8.1基準(zhǔn)測試開發(fā)

2025-04-03 03:55:00

點贊
收藏

51CTO技術(shù)棧公眾號

久久精品国产亚洲AV熟女| 浴室偷拍美女洗澡456在线| 久久久久久久久久久久久av| 激情五月综合网| 欧美浪妇xxxx高跟鞋交| 少妇高潮大叫好爽喷水| 视频一区二区免费| 极品少妇xxxx偷拍精品少妇| 欧美精品第一页在线播放| 一色道久久88加勒比一| 一区二区三区免费在线看| 欧美日韩激情美女| 久久av喷吹av高潮av| 欧美亚洲日本| 国产乱码字幕精品高清av| 日韩免费在线免费观看| 欧美日韩精品在线观看视频| 蜜臀av免费一区二区三区| 日韩欧美一区中文| 亚洲一区在线不卡| 女海盗2成人h版中文字幕| 亚洲欧洲成人精品av97| 欧美日韩一区在线播放| 亚洲国产精品久久久久久久| 日韩不卡免费视频| 57pao国产精品一区| 欧美 日韩 国产 一区二区三区| 五月综合久久| 精品国精品自拍自在线| 亚洲欧美手机在线| 日韩在线免费| 欧美午夜精品久久久久久人妖 | 日本久久精品| 日韩成人免费视频| 亚洲国产精品第一页| 日韩成人在线一区| 欧美在线观看视频一区二区三区| 三上悠亚久久精品| www中文字幕在线观看| 亚洲三级在线免费观看| 亚洲欧美日韩精品在线| 国产在线一二三区| 久久久天堂av| 欧美日韩在线高清| 瑟瑟在线观看| 久久夜色精品一区| 免费在线观看91| 欧美色18zzzzxxxxx| 91色综合久久久久婷婷| 精品一区二区久久久久久久网站| 好吊色一区二区| 大白屁股一区二区视频| www.久久久| 亚洲精品国产一区二| 国产一区二区在线看| 92福利视频午夜1000合集在线观看| 怡红院男人天堂| 奇米影视一区二区三区| 国产精品高潮呻吟久久av黑人| 国产精品第5页| 首页亚洲欧美制服丝腿| 国产精品久久久久高潮| 免费黄色一级大片| 六月婷婷色综合| 成人在线免费观看视视频| 91午夜交换视频| 国产精品 欧美精品| 不卡日韩av| 午夜性色福利影院| 国产视频亚洲色图| 日本一区二区免费高清视频| 成人免费网站在线观看视频| 一区二区三区欧美在线观看| 九九热只有这里有精品| 在线天堂资源www在线污| 91国偷自产一区二区使用方法| 91人人澡人人爽人人精品| 国产91在线播放精品| 日韩一区二区在线观看| 亚洲精品激情视频| 欧美人妖在线| 久久九九精品99国产精品| 麻豆疯狂做受xxxx高潮视频| 亚洲精品社区| 国产精品一二区| 午夜精品无码一区二区三区 | 亚洲色成人网站www永久四虎| 人人狠狠综合久久亚洲婷| 久久影视电视剧免费网站清宫辞电视| 一级黄色录像视频| 久久精品毛片| 亚洲一区二区三区四区在线播放| 人妻中文字幕一区| 中文字幕高清一区| www精品久久| 欧美日韩破处视频| 亚洲国产另类 国产精品国产免费| 全黄一级裸体片| 欧美1区2区| 国产精品久久久久91| 亚洲AV无码精品国产| 国产日韩精品一区二区三区在线| 成人手机在线播放| 欧美黄色网页| 日韩美女一区二区三区四区| 久久国产柳州莫菁门| 国产精品大片| 国产日韩欧美综合| 天天av综合网| 亚洲综合色噜噜狠狠| 久久午夜夜伦鲁鲁一区二区| 欧美日本三级| 在线视频免费一区二区| 免费在线观看黄网站| 狠狠v欧美v日韩v亚洲ⅴ| 欧美精品一区二区三区久久| 在线看女人毛片| 欧美体内she精视频| 国产精品麻豆入口| 亚洲男女av一区二区| 国产精品444| 亚洲av电影一区| 国产精品久久久久久久午夜片| 黄色一级视频片| 风间由美一区二区av101| 日韩一区在线视频| 艳妇乳肉豪妇荡乳av无码福利 | 久久精品女人的天堂av| 色呦呦久久久| 日韩一区二区三区精品视频| 欧美aaa级片| 日韩经典中文字幕一区| 久久亚洲高清| 性国裸体高清亚洲| 亚洲精品wwww| av资源免费观看| 高清不卡在线观看| 日本免费成人网| avtt综合网| 久久久久久999| 黄色av网站免费在线观看| 一区二区三区国产| xxxxwww一片| 亚洲午夜在线| 国产一区高清视频| 国产一二在线播放| 日韩成人激情视频| 男人天堂2024| 日本一区二区三区四区| 亚洲 欧美 另类人妖| 欧美一级精品| 成人黄色免费网站在线观看| 欧美13一16娇小xxxx| 555www色欧美视频| 丝袜 亚洲 另类 欧美 重口| 久久国产三级精品| 天天干天天色天天爽| 一区中文字幕电影| 91极品视频在线| 暖暖视频在线免费观看| 欧美性高清videossexo| 中文国语毛片高清视频| 国产传媒日韩欧美成人| 欧美这里只有精品| 欧美理伦片在线播放| 日本精品一区二区三区在线播放视频| 九九九伊在人线综合| 欧美日韩免费观看一区三区| 91高清免费看| 成人av电影免费观看| 欧美视频第一区| 欧美xxav| 动漫美女被爆操久久久| 中文字幕不卡三区视频| 色诱女教师一区二区三区| 国产女人高潮毛片| 午夜不卡av在线| 国产一二三四视频| 国产高清无密码一区二区三区| 日韩一级性生活片| 神马久久一区二区三区| 成人激情视频小说免费下载| 17videosex性欧美| 伊人亚洲福利一区二区三区| 国产乱淫a∨片免费观看| 亚洲成人自拍一区| 免费一级特黄3大片视频| 国产剧情一区在线| 999香蕉视频| 欧美永久精品| 青青草原亚洲| 亚洲精品一二三**| 日韩av成人在线观看| 国产精品久久久久久福利| 亚洲加勒比久久88色综合 | 精品一区免费av| 黄色成人在线看| 日产精品一区二区| 国产一区自拍视频| 国产精品美女久久久久| 欧美在线视频观看免费网站| 岛国中文字幕在线| 亚洲人成电影网站| 韩国中文字幕hd久久精品| 欧美日韩精品免费| 成年人视频在线免费看| 亚洲蜜桃精久久久久久久| 成人免费无遮挡无码黄漫视频| 国产福利一区二区三区在线视频| www.欧美日本| 国产日韩精品视频一区二区三区| 久久av秘一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 国产成人精品福利一区二区三区| 伦一区二区三区中文字幕v亚洲| 91av在线免费观看视频| 色av手机在线| 久久亚洲精品一区二区| 国产精品ⅴa有声小说| 日韩精品高清在线观看| 99久久精品国产一区色| 欧美三级日韩三级国产三级| 亚洲 欧美 日韩 综合| 亚洲一区二区三区四区不卡| jizz日本在线播放| 国产亚洲美州欧州综合国 | 国产精品国产三级国产专播品爱网 | 国产成人无码精品亚洲| 一级做a爱片久久| 内射一区二区三区| 亚洲图片激情小说| 网爆门在线观看| 国产农村妇女精品| 亚洲av无码一区二区三区人 | а√天堂中文资源在线bt| 欧美高清视频一区二区| 91蜜桃在线视频| 久久亚洲精品一区二区| xvideos国产在线视频| 超薄丝袜一区二区| v天堂福利视频在线观看| 久久五月情影视| 97caopor国产在线视频| 超碰精品一区二区三区乱码| 黄色网址在线免费播放| 久久亚洲精品成人| 伊人福利在线| 久久久久久综合网天天| 97人人在线视频| 欧美在线视频在线播放完整版免费观看| 24小时免费看片在线观看| 韩国福利视频一区| 欧美男男tv网站在线播放| 欧美有码在线观看视频| av一区在线| 国产一区视频在线| 日本在线视频一区二区三区| 成人黄色片视频网站| 欧美变态网站| 欧美日韩综合网| 欧美超碰在线| 国产又粗又猛又爽又黄的网站 | 能在线观看的av网站| 秋霞电影一区二区| 欧美性猛交xxxx乱大交91| 国产精品一级片| 欧美在线一级片| 久久久噜噜噜久久中文字幕色伊伊| 黄色aaa视频| 亚洲天堂精品视频| 日韩久久精品视频| 91黄视频在线| 国产jzjzjz丝袜老师水多| 亚洲国产古装精品网站| 免费在线国产| 美女黄色丝袜一区| 悠悠资源网亚洲青| 91麻豆桃色免费看| 久久久久97| 亚洲三区视频| 亚洲作爱视频| 人人干人人干人人| 丁香一区二区三区| a资源在线观看| 一区二区三区影院| www.com亚洲| 日韩欧美一级二级三级久久久| 日本ー区在线视频| 欧美精品亚州精品| 日韩精品影片| 国产精品午夜av在线| 精品免费一区二区| 免费一级淫片aaa片毛片a级| 蜜桃久久av| 国产调教打屁股xxxx网站| 欧美激情一区不卡| 日韩免费视频网站| 欧美放荡的少妇| 久久久久久久影视| 欧美黑人xxxx| 国精品产品一区| 蜜桃av色综合| 国产一区欧美| 国产亚洲视频一区| 久久久久久久久岛国免费| 精品无码m3u8在线观看| 欧美日韩一区在线| 欧美性孕妇孕交| 国内免费精品永久在线视频| 香蕉久久久久久| 日本一区美女| 国产精品日本欧美一区二区三区| 国产欧美激情视频| 国产日韩精品视频一区| 国产农村妇女aaaaa视频| 日韩午夜三级在线| 日本在线免费网| 国产精品电影观看| 一个色免费成人影院| www.亚洲视频.com| 国产精品一品视频| 破处女黄色一级片| 欧美三级乱人伦电影| 国产综合视频一区二区三区免费| 久久久久久久国产精品视频| 日韩午夜视频在线| 亚洲精品国产精品国自产| 亚洲免费综合| 黄色短视频在线观看| 亚洲成人自拍一区| 日韩中文字幕影院| 久久久久久成人| 97青娱国产盛宴精品视频| 日韩精品一区二区三区电影| 麻豆91小视频| 永久免费看片直接| 欧美疯狂性受xxxxx喷水图片| 二区在线视频| 国产精品露脸自拍| 日韩精品欧美| 亚洲精品www.| 中文字幕一区二区三区乱码在线| 日本妇乱大交xxxxx| 伊人男人综合视频网| 精品国产黄a∨片高清在线| 日本一区视频在线播放| 日本亚洲最大的色成网站www| 亚洲一区二区三区日韩| 在线一区二区三区做爰视频网站| 黄色小视频在线免费观看| 国产成人精品在线视频| 欧美一级精品片在线看| 一本岛在线视频| 综合久久久久久| a视频免费在线观看| 欧美大片在线看免费观看| 加勒比色综合久久久久久久久| 男女啪啪免费视频网站| 久久久久久久性| 亚洲视屏在线观看| 久久精品国产一区二区电影| 麻豆精品一区| 国产极品尤物在线| 久久精品一区二区三区不卡牛牛| jizz国产在线| 久久亚洲一区二区三区四区五区高| 日韩一二三区| 久久国产成人精品国产成人亚洲| 久久久久久久久蜜桃| 一本色道久久综合亚洲| 九九久久国产精品| 日韩一级电影| 国产探花在线看| 亚洲无人区一区| 成人影视在线播放| 99免费在线观看视频| 一区二区国产在线观看| 国产精品情侣呻吟对白视频| 欧美精品tushy高清| 丁香高清在线观看完整电影视频| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 免费成人黄色大片| 亚洲地区一二三色| а天堂8中文最新版在线官网| 亚洲va电影大全| 免费日韩av片| 放荡的美妇在线播放| 亚洲女同精品视频| 日韩精品三级| 午夜免费精品视频| 亚洲综合免费观看高清完整版| 蜜桃视频在线播放| 91久久国产自产拍夜夜嗨| 久久九九精品| 国产亚洲精品码| 色噜噜狠狠色综合网图区| 牛牛视频精品一区二区不卡| 亚洲精品在线网址| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲国产精品精华素|