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

讓PHP程序員工作更高效的四大神器

開發 后端 開發工具
下面這四個項目,讓我們對自己所寫的代碼,更加成竹在胸,無論是執行過程還是調優著手了都有了充分的把握。特意對比,匯總整理的這四大神器,希望它們能改善每一位 PHP 開發者的生活,讓我們的 PHP 開發不再那么地苦逼!

做程序猿「媛」是一個苦逼的活,大周六地早起在技術群里招呼,看到沒有啥人響應,說了一句,「估計都沒有醒」,然后一位哥們拋過來,「在加班」 !

做 Web 開發更是一個苦逼的活,不像是做 iOS,搞定客戶端,基本上就萬事大吉了。做 Web 開發不僅僅是要做后端,前端也需要了解和熟悉!

做前后端通吃的 DevOps 全棧工程師絕對是最苦逼的活,不但需要做開發,而且還要了解運維、優化,不會運維的工程師絕對不是一個好架構師!

但所幸的事,一個優秀的工程師盡管很忙,盡管要熟悉前后端、系統、運營、優化,但是在他的工具箱里,放著一大堆工具,讓這種生活變得不那么苦逼。

這里就介紹四個讓我們 DevOps 生活變得美好的神器。分別是 Xdebug、XHProf 、 OneAPM 和 SocketLog。

Xdebug

作為開發人員,睡得最踏實的事是對自己寫的代碼了如指掌,無論是從功能層面,還是性能層面。而做 Web PHP 開發,比較棘手的一件事情就是代碼的調試。作為腳本語言,在遠程服務器端運行,客戶端生成的全是 HTML 代碼,一般認為我們無法準確地調試運行的情況,更不要說單步調試、變量監控等事情了。其實這是有誤解的,有一個 PHP 擴展 Xdebug 能讓方便地讓我們調試遠程服務器上運行的代碼。

方法很簡單,從 Xdebug 下載***版的源代碼。 wget 解壓:

tar –zxvf xdebug-2.3.3.tgz
cd xdebug-2.3.3 phpize
./configure –with-php-config=/usr/bin/php-config
make
make install

再增加相應的配置到 php.ini ,需要注意有兩點:

1. xdebug 是 zend_extension

2. 端口默認是 9000,和 php-fpm 的缺省端口沖突,所以這里換用 9100

[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9100

這樣就裝好了,就是如此簡單,下面我們可以開始使用了。以 ThinkPHP 應用開發做例子吧。ThinkPHP 典型的單入口應用,調用層次相對復雜。所以想要了解調用堆棧還是比較麻煩的。要想得到某一行的調用堆棧,可以使用 PHP 自帶的 debug_backtrace 函數可以獲得,但是不怎么形象,返回來一個數組而已。而 Xdebug 就能讓這一切可視化起來。

配合 Xdebug 使用的是 Netbeans 自帶的調試工具。首先通過***項修改了一下 PHP 調試的端口,從9000改成9100,其他不用動。注意 在***行停止 是選上的,這將在 PHP 程序調試時,運行到***行 PHP 代碼時停止,在 ThinkPHP 中,即入口文件 index.php 的***行停止。

讓程序員不再苦逼的四大神器

在本例中,筆者做了一個租車管理系統的示例,項目名為 zuches 。將代碼部署在 http://localhost/zuches 能訪問的地方,索引文件是 index.php。

讓程序員不再苦逼的四大神器

由于 index.php 是入口文件,所以在 index.php 上點擊右鍵,選擇調試。

讓程序員不再苦逼的四大神器

然后 Netbeans 自動打開了如下地址,進入調試狀態 : http://localhost/zuches/index.php?XDEBUG_SESSION_START=netbeans-xdebug 同時運行位置指示停留到了 index.php 的***行。如下:

讓程序員不再苦逼的四大神器

點擊繼續運行,由于在 IndexController.class.phpindex 方法中加上了斷點,所以位置指示又停留在了相應的斷點處。

讓程序員不再苦逼的四大神器

這個時候,我們可以查看中斷時候的調用堆棧和變量了。通過堆??梢苑奖愕囟ㄎ坏礁鞫ㄎ坏念惡拖鄳椒?。

讓程序員不再苦逼的四大神器

各種變量,無論是局部變量和實例屬性,無論是 cookie,還是提交數據,都能在變量表中看到,一目了然。

讓程序員不再苦逼的四大神器

總之,Xdebug 讓我們即使做的是服務器端頁面和 API 開發,也可以像桌面應用開發一樣,調試每一行代碼了。

Xdebug 除了使用來進行單步調試之外,還能收集請求中的執行日志,記錄每一個函數的執行過程。這些日志可以用 wincachegrind 等工具進行分析,看到函數的調用棧和所花的時間。這里不再贅述,我們也不是很推薦,因為 XHProf 在這塊要輕量級和強大的多,不用如此費勁地下載日志,分析日志。

#p#

XHProf

如前文所述,對于 PHP 中函數調用棧和性能分析,XHProf 將 Xdebug 開的先河繼承并發揚光大。XHProf 也是 PHP 擴展,不過不建議從 http://pecl.php.net/package/xhprof 上下載,版本已有近2年沒有更新了,***從 https://github.com/phacility/xhprof 上下載。下載編譯配置和使用過程都很簡單。

配置只需要加上如下兩行:

``` [xhprof] extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xhprof.so

然后將要相應的 XHProf 代碼配置到需要監控的頁面中,即可以獲得整個頁面的執行中,各函數的調用報表。XHProf 提供了示例,配置成功運行如下:

讓程序員不再苦逼的四大神器

如何看到上面圖中的效果呢?將 examples 、 xhprof_html 、 xhprof_lib 三個目錄放到瀏覽器能訪問到的地方,比如 localhost 的主目錄內。修改 examples/sample.php 中的 <xhprof-ui-address> 換成 如: localhost/xhprof_html/ 。即可。

然后訪問 http://localhost/examples/sample.php 即可以得到輸出結果如下:

讓程序員不再苦逼的四大神器

examples/sample.php 中可以看到,對于頁面的監測分析,在頁面頂部使用 xhprof_enable 開始,而性能的分析的結束,則是在頁面底部使用 xhprof_disable 結束 。這樣每次監控,都需要增加一段代碼,所以為了規范起見。對 XHProf 相關的操作進行了封裝。繼續采用上例 ThinkPHP 版租車系統的例子,看看如何集成 XHProf 分析。

首先將對 XHProf 的操作封裝成了一個類。

<?php class XHProf { private static $strNameSpace = ""; public static function init($strNameSpace = "myhome") { if (!function_exists("xhprof_enable")) { return; } self::$strNameSpace = strval($strNameSpace); $param = XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY; $path = getcwd(); require_once $path.'/../xhprof_lib/utils/xhprof_lib.php'; require_once $path.'/../xhprof_lib/utils/xhprof_runs.php'; xhprof_enable($param); register_shutdown_function("XHProf::genResult"); } public static function genResult() { $profiler_namespace = self::$strNameSpace; $xhprof_data = xhprof_disable(); $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, $profiler_namespace); $profiler_url = sprintf('http://' . $_SERVER['HTTP_HOST'] . '/xhprof_html/index.php? run=%s&source=%s', $run_id, $profiler_namespace); echo '<p style="position:absolute; left:0; top:0; background:orange; padding:8px;">' . '<a href="' . $profiler_url . '" target="_blank">Profiler output</a></p>';
    }
}
 

在這個封裝的類中,首先檢測了 xhprof_enable 函數是否存在,這可以用于判斷是否成功安裝配置了 xhprof 擴展。其次設置了參數,特別值得一提的是使用函數 register_shutdown_function 來注冊一個操作,這個操作在頁面結束之前,會自動運行。

這樣,在分析頁面性能之時,只需要在 ThinkPHP 應用的 index.php 上加上兩行,即可以了。

比如:

require_once "xhprof.php"; XHProf::init("zuches");

運行后,得到如下效果:

讓程序員不再苦逼的四大神器

并且每一個頁面,都有這樣的輸出。點擊「Profiler output」即得到了報表。

讓程序員不再苦逼的四大神器

在本例中,可以看到***的集成方法,運行時間超過了2 S,是值得關注并優化了。從報表中,可以首先看到各個方法或者函數的調用次數,運行時間,以及可以層層點進去看到父子層級的調用關系 。

需要注意的是,在線上,如上使用 XHProf 要慎重,即使打開,也要有限制條件地打開,比如當前用戶是某些調試開發者用戶時才打開。否則,普通用戶看到這樣的輸出,則不明所以,給用戶帶來困惑,當 然,我們也可以不輸出,而將數據直接存儲,在后臺系統中查看,這樣用戶就感受不到了。有一個工具,可以完全消除這些糾結。那就是 OneAPM ,在第四部分我們再介紹。

#p#

SocketLog

作為程序員,除了新功能開發之外,最常見的一個工作就是查錯,尤其是遠程用戶的查錯,還是一個很痛苦的過程。當前又加上了微信開發,API 開發等操作。對于微信內、API 由遠程用戶所調用的時候,情況多變,查錯也更加地麻煩。這個時候,我們的第三個神器登場了。那就是 SocketLog。

SocketLog 是國內知名 PHP 開發者羅飛的作品,羅飛是 ThinkPHP 的核心開發者,也是優才學院全棧工程師主力講師。現任三生社群 CTO。SocketLog 的 github 地址為: https://github.com/luofei614/SocketLog ,在項目的主頁上,詳細地介紹了用法和所用的技術。這里簡單地匯總講解一下。

SocketLog 的使用,主要要分成三個步驟,***步是安裝 Chrome 插件??梢詮?github 下載的安裝包中去安裝,或者可以從 Chrome 應用商店下載。

第二步是需要啟動 Socket 服務,Socket 服務是 WebSocket 協議的,早期版本是 PHP 編寫的服務器,新的版本已經使用 Node.js 來實現了。啟動方法很簡單,進入解壓后的目錄。

執行 node server/index.js 即可。

安裝好插件之后,就在 Chrome 上看到如下圖標。灰色表示沒有連接上。

讓程序員不再苦逼的四大神器

同時啟動了服務器,做好設置,就會看到圖標變成藍色了。

讓程序員不再苦逼的四大神器

需要注意的是,盡管我們這里監聽地址配置成了本地地址,其實也可以配置遠程地址。不過遠程地址的話記得打開服務器上的防火墻,因為一般1229端口在防火墻中是關閉的。

SocketLog 的原理,是在服務器端,往 WebSocket 服務器上寫數據,作為客戶端的 Chrome 插件,即能收到數據。所以不管是遠程 API 調用,還是網頁訪問,只要在程序中往這個 WebSocket 服務器寫了數據,只要監聽了這個 Websocket 服務的客戶端都能收到相應的調試日志。

第三步是埋代碼。使用方法也很簡單。比如我們在上面的 ThinkPHP 的 index.php 加入兩行代碼。會看到如下輸出 。

讓程序員不再苦逼的四大神器

然后我們在其他終端上也訪問一下這臺機器的這個頁面地址,看看是否能得到輸出呢?開始沒有任何輸出效果。因為缺省情況下是不記錄普通用戶所調用的 slog 的。

在 slog 之上的語句加上這一行,就有了。

slog(array('force_client_id'=>'test'),'set_config');

Test 這個插件的用戶,收到了所有的 slog 消息。如下圖所示:

讓程序員不再苦逼的四大神器

并且這種輸出 ,無論是別的用戶觸發,而還后臺服務程序,均可以輸出 。所以非常地方便,開發人員在自己的機器上就收集到了想要收集的用戶所觸發的調試信息。

然后為了體現對 SQL 語句的監聽。我們在 ThinkPHP/Library/Think/Db/Driver.class.php 的第1139行加上 slog($str) ,然后再訪問頁面,就得到了如下輸出 ,可見實現了對 SQL 日志的監控。

SocketLog 的功能看起來雖然簡單,但是卻非常有用、好用,是***的開發神器。有關 SocketLog 的更多介紹和使用說明,建議現在就立刻下載,并且進入 github 主頁好好地研究吧!

#p#

OneAPM

從上面的使用來看,SocketLog 和 XHProf 都有兩個不足之處,一是需要埋代碼,二是只是基于單獨一個頁面會話的。而 OneAPM 相對來講,就更強大了,可以理解為云端 SaaS 版的 XHProf 和更強大的 SocketLog。不過有著更為強大的優勢。比如:

  1. OneAPM 的 PHP 探針,安裝完成之后,并不需要在代碼中埋入任何代碼。

  2. 在數據收集的過程中,不需要開發和運維的參與,探針全自動收集,并提交到遠程服務器。

  3. 由于數據累積,所以支持歷史報表,以及比 XHProf 和 SocketLog 更豐富的功能。

  4. PHP 只是 OneAPM 所支持的一種語言,它可以支持多種語言,HTML5、 iOSAndroid 、 Java.NETpython 、 Node.js 、 PHP 、 ruby 等。

OneAPM 的安裝過程也比較簡單,不過由于是 SaaS 服務,所以得上官網注冊一個賬號。登錄了之后,在應用程序里,點擊添加,再選中 PHP,就進入了安裝探針的說明。

讓程序員不再苦逼的四大神器

分為如下幾步:

1. 獲取授權編號

OneAPM 授權憑證,用于配置和身份識別。

2. 下載 OneAPM PHP agent 安裝程序

3. 解壓 OneAPM PHP Agent

tar -xzf OneAPM_php_Agent_2.3.11.tar.gz

4. 安裝 OneAPM PHP Agent

  • 定位路徑至您的安裝包所在文件夾

    cd oneapm-php5-linux-install-script

  • 執行安裝命令

    sudo ./oneapm-install install

5. 輸入 License Key

請點擊步驟1中的「生成授權編號按鈕」成功安裝,界面如下:

讓程序員不再苦逼的四大神器

若出現以下信息,則代表安裝成功。

OneAPM is now installed on your system. Congratulations!

當頁面出現以下提示時,啟動 Daemon

And then start php-agent in /usr/bin/oneapm-daemon

運行以下指令來啟動 Daemon

sudo /usr/bin/oneapm-daemon

重啟 Apache 或你使用的 web 調度程序 「如 php-fpm 」

6. 靜候5分鐘,開啟 OneAPM 之旅

靜候5分鐘,等待應用程序向 OneAPM 發送應用程序性能數據,即可開始使用 OneAPM 應用性能管理。

OneAPM 收集的數據很豐富。將收集的響應時間數據,分為四個大塊:

  • Web 事務,就是頁面業務邏輯本身

  • 數據庫,數據庫的連接和數據讀取

  • 錯誤統計,對所有類型的錯誤做了歸類統計

  • 外部服務,即外部 API 等的設備

以筆者的站點為例,12小時的數據如下圖:

讓程序員不再苦逼的四大神器

從上面這個圖,我們看到響應時間,慢的達到了600 ms 以上,那是什么導致的呢?我們可以分別查看:

讓程序員不再苦逼的四大神器

可見 Web 事務比較穩定,可以比較清楚地看到平均的響應時間在 50ms-75ms之間。

讓程序員不再苦逼的四大神器

數據庫響應時間也很短,在幾 ms 這個級別。而外部服務就明顯在幾百 ms 這個級別,還有的高達 600 ms 。

讓程序員不再苦逼的四大神器

不說別的,就通過這簡單的報表,從目前看,就可以定位到,想要做優化,從外部服務的響應時間上下手優化,帶來的效果是***的。

下面我們再來看看三個細化一層的報表 ,在 Web 事務統計中,盡管平均數很低,但是也列出了響應時間最長的5個請求。如下:

讓程序員不再苦逼的四大神器

從上面的數據可以看出,響應時間最長的幾個,主要突出在 bind.php ,這個是負責 QQ 登錄的請求,需要向騰訊請求數據。

而在數據庫一欄中,可以看到最慢的5個表格的情況。

讓程序員不再苦逼的四大神器

在外部的服務中,果不出所料,是對微博、微信、QQ 登錄、七牛上傳、支付寶通知等外部服務,所占時間最長。如下圖所示。

讓程序員不再苦逼的四大神器

這只是普通的統計報表,對于具體的某一個慢的頁面,更有詳細的調用分析。

比如上面的 bind.php ,果真最慢的是從網絡上獲取數據。也就是說,第三方登錄時,從第三方網站取數據花了絕大部分時間。 去查看詳情,有兩個不足之處,一是需要埋代碼,二是只是基于單獨一個頁面會話的。而 OneAPM 稱為慢事務追蹤,拉到頁面的***部就能看到。

讓程序員不再苦逼的四大神器

讓程序員不再苦逼的四大神器

在后臺報表中,我們同樣也能看到是哪些 SQL 語句慢。比如如下是 bind.php 中慢的 SQL 語句。

讓程序員不再苦逼的四大神器

更為重要的是,還有所有錯誤信息的收集,也一目了然。

讓程序員不再苦逼的四大神器

所以無論從功能之強大,還是易用之方便,有兩個不足之處,一是需要埋代碼,二是只是基于單獨一個頁面會話的。而 OneAPM 不愧是商業化的 SaaS 服務,比 XHProf 勝去了不少。在筆者的項目中,已經大量使用。并取得了好的效果。

以上四個項目,讓我們對自己所寫的代碼,更加成竹在胸,無論是執行過程還是調優著手了都有了充分的把握。特意對比,匯總整理的這四大神器,希望它們能改善每一位 PHP 開發者的生活,讓我們的 PHP 開發不再那么地苦逼!

責任編輯:王雪燕 來源: OPEN資訊
相關推薦

2017-01-05 14:01:38

linux密碼高強度

2019-07-17 10:55:40

Kubernetes工具Katacoda

2012-04-11 10:03:00

JavaEclipse

2014-09-25 13:12:47

微信企業號功能體系

2012-02-08 13:52:30

云計算

2010-09-06 22:02:41

GartnerIT自助服務

2023-11-07 08:25:34

API接口參數驗證

2013-07-23 10:50:24

C程序

2015-09-22 09:58:52

程序員工作自律

2022-10-21 17:19:11

微軟Teams元宇宙

2009-06-10 17:12:28

程序員

2018-05-08 14:58:07

戴爾

2019-01-07 09:31:37

程序員測試人員代碼

2010-09-09 16:39:24

2015-08-13 15:29:57

簡化敲門

2015-08-14 09:28:44

簡化程序員竅門

2016-10-27 17:49:07

群暉群暉科技NAS

2013-11-12 14:03:48

2011-03-21 09:01:49

CSS框架

2015-07-17 09:50:16

Carthage優劣比較
點贊
收藏

51CTO技術棧公眾號

四虎影视一区二区| 亚洲无线码在线一区观看| 色爽爽爽爽爽爽爽爽| 国产日韩一级片| 欧美日韩亚洲一区二区三区在线| 亚洲成人免费在线视频| 亚洲精品乱码久久久久久自慰| 青青视频在线观| 蜜桃传媒麻豆第一区在线观看| 日韩最新av在线| 日本人妻一区二区三区| 欧美黑人疯狂性受xxxxx野外| 手机av免费在线观看| 人妻无码中文字幕免费视频蜜桃| 在线国产欧美| 欧美精品一区二| 超碰在线人人爱| 俺来俺也去www色在线观看| 91麻豆国产精品久久| 国产精品青青在线观看爽香蕉| 欧美黑人精品一区二区不卡| 亚洲资源网站| 91麻豆精品国产91久久久使用方法 | 欧洲亚洲精品久久久久| 午夜成人免费视频| 亚洲一区综合| 性猛交xxxx乱大交孕妇印度| 免费在线一区观看| 欧美亚洲视频在线看网址| 印度午夜性春猛xxx交| 精品视频久久| 日韩精品一区二区三区四区 | 一本色道久久加勒比精品| 在线观看完整版免费| 国产一区99| 欧美美女喷水视频| 久久久久免费看黄a片app| 欧美激情 亚洲| av免费在线网站| 92精品国产成人观看免费| 91在线色戒在线| 无码久久精品国产亚洲av影片| 久久久久久久伊人| 800av在线免费观看| 久久精品久久久久久国产 免费| 亚洲午夜精品久久久久久人妖| av网站无病毒在线| 国产精品自产自拍| 欧美猛少妇色xxxxx| 破处女黄色一级片| 成人一区二区| 一本一道久久a久久精品逆3p| 亚洲美女高潮久久久| 日韩制服诱惑| 五月开心婷婷久久| 午夜精品免费在线观看| 久久不射2019中文字幕| 精品99一区二区| 香蕉视频免费网站| 999久久久精品一区二区| 日韩一区二区三区精品视频| 国产又粗又长又爽又黄的视频| 超碰国产一区| 日本久久一区二区| 性欧美videossex精品| 久久亚洲人体| 欧美一区二区私人影院日本| 人妻精品久久久久中文字幕69| 91丨精品丨国产| 欧美一区永久视频免费观看| 日本亚洲一区二区三区| 日韩成人在线看| 亚洲精品在线电影| 日本黄色网址大全| 成人免费电影网址| 美女性感视频久久久| 久热精品在线观看| 亚洲精品1区2区| 久久久视频免费观看| 日韩精品一区三区| 另类国产ts人妖高潮视频| 国产精品美女网站| www.久久色| 337p粉嫩大胆色噜噜噜噜亚洲| 狠狠色噜噜狠狠狠狠色吗综合| 天堂а√在线8种子蜜桃视频 | 一区二区三区在线播| 国产婷婷一区二区三区| 国产v日韩v欧美v| 色婷婷亚洲精品| 少妇一级淫免费放| 麻豆视频久久| 亚洲欧美日韩第一区| 手机在线中文字幕| 99香蕉国产精品偷在线观看| 国产精品久久久久久久久免费看| 中文字幕第31页| 成人激情文学综合网| 日韩一区不卡| 草莓视频丝瓜在线观看丝瓜18| 婷婷成人激情在线网| 视频二区在线播放| 麻豆精品少妇| 久青草国产97香蕉在线视频| 日本午夜视频在线观看| 激情综合网天天干| 欧美日韩精品免费看| 国产福利在线播放麻豆| 午夜视黄欧洲亚洲| 国产美女视频免费看| 亚洲三级网址| 欧美激情极品视频| 中文字幕第三页| 99视频精品全部免费在线| 亚洲成人精品电影在线观看| gogo高清午夜人体在线| 欧美精品第1页| 91国模少妇一区二区三区| 欧美黄污视频| 国产一区视频在线| 成人h动漫精品一区二区无码 | 国产成人在线免费观看视频| 精品综合久久久久久8888| 俄罗斯精品一区二区三区| 在线视频1区2区| 色激情天天射综合网| 挪威xxxx性hd极品| 色综合久久一区二区三区| 欧美专区第一页| 男人的天堂a在线| 亚洲激情第一区| 天美一区二区三区| 日韩久久电影| 国产精品一区二区久久久| 欧美高清成人| 欧美日韩在线另类| 亚洲天堂2024| 激情自拍一区| 91成人免费视频| 精精国产xxxx视频在线| 欧美日韩国产bt| 亚洲精品国产精品国自产网站| 老鸭窝毛片一区二区三区| 久久涩涩网站| 日本三级一区| 精品香蕉在线观看视频一| 国产免费美女视频| 国产在线国偷精品免费看| 自拍偷拍一区二区三区| 一区二区三区日本视频| www.日本久久久久com.| 国产女人18毛片水18精| 亚洲青青青在线视频| 青青草原播放器| 亚洲成人三区| 成人黄动漫网站免费| 麻豆视频免费在线观看| 91精品国产手机| 男人晚上看的视频| 国产成人免费视频一区| www.好吊操| 色婷婷狠狠五月综合天色拍 | 手机在线视频你懂的| 日韩福利在线观看| 中文字幕精品在线视频| 国产精品视频一二区| 樱花影视一区二区| 国产一级伦理片| 久久亚洲图片| 国产又大又长又粗又黄| 999久久久精品一区二区| 久久乐国产精品| 青梅竹马是消防员在线| 欧美中文字幕一区二区三区亚洲| 极品久久久久久久| 国产精品一卡二| 久久国产精品网| 国产精品自拍区| 国产日本欧美一区二区三区| 182tv在线播放| 日韩精品视频在线观看网址| 亚洲黄色免费观看| 国产精品色哟哟| 亚洲精品一区二区18漫画| 亚洲精选成人| 亚洲巨乳在线观看| ccyy激情综合| 国产精品成人播放| a视频在线观看免费| 亚洲精品久久久久久久久| 亚洲成人av网址| 亚洲午夜精品17c| 五月天精品视频| 国产做a爰片久久毛片| 精品一区二区三区毛片| 综合色就爱涩涩涩综合婷婷| 国产精品直播网红| 国产99在线观看| 伦伦影院午夜日韩欧美限制| 青青草超碰在线| 日韩欧美一区二区免费| 婷婷激情五月综合| 亚洲一区在线电影| 精品人妻无码一区| 成人h动漫精品| 中文字幕中文在线| 久久国产精品久久久久久电车| 蜜桃传媒视频第一区入口在线看| 成人在线视频区| 国产福利精品av综合导导航| 成年人视频在线看| 日韩精品一区二区在线| 在线观看国产精品视频| 欧美网站在线观看| 久久黄色免费视频| 国产精品美女久久久久高潮| 玖草视频在线观看| 国产成人av一区| 中文av字幕在线观看| 美女网站久久| 久久国产午夜精品理论片最新版本| 精品国产一区二区三区久久久蜜臀| av成人观看| 国产精区一区二区| 91精品久久久久久久久久久久久久 | 国产精品久久久久久久岛一牛影视| 爱情岛论坛成人| 久久精品久久久| 国产一区二区在线观看免费| 韩日精品中文字幕| www.在线视频| 永久免费精品影视网站| 日韩二区三区| 精品三级在线看| 国产精品久久无码一三区| 欧美在线观看一区二区| 91久久国产综合久久91| 欧美性生交大片免费| 日韩欧美激情视频| 午夜精品免费在线观看| 欧美成人精品欧美一级乱黄| 亚洲夂夂婷婷色拍ww47| 91精品国产高清一区二区三蜜臀| 自拍偷拍亚洲综合| 国精产品一区一区二区三区mba | 久久青青草综合| 伦理一区二区三区| 蜜桃视频在线观看91| 国内精品麻豆美女在线播放视频| 亚洲一区二区中文字幕| 国产精品国产亚洲精品| 91久久精品美女高潮| 一区二区三区| 国产成人成网站在线播放青青| 午夜电影一区| 国产伦精品一区二区三毛| 久久gogo国模啪啪裸体| 99re视频在线观看| 巨人精品**| 欧美日本国产精品| 日韩精品诱惑一区?区三区| 老司机av福利| 黑人一区二区三区四区五区| 香蕉视频免费版| 欧美激情亚洲| 18禁免费观看网站| 亚洲福利一区| 妞干网在线免费视频| 日韩成人免费电影| 中文字幕22页| 美女在线观看视频一区二区| 无码人妻丰满熟妇区96| 99在线观看免费视频精品观看| 欧美日韩在线不卡视频| 免费的成人av| 国产资源中文字幕| 97久久人人超碰| 亚洲无人区码一码二码三码的含义| 国产精品嫩草99a| 美女视频黄免费| 欧美视频第一页| 一级黄色片在线| 精品国产乱码久久| 国产特黄在线| 欧美日韩国产成人在线| sese综合| 亚洲一区中文字幕| 蜜桃一区二区| 超碰免费在线公开| 亚洲欧美日本国产专区一区| 国产主播中文字幕| 丰满白嫩尤物一区二区| av电影网站在线观看| 樱花影视一区二区| 国产偷人爽久久久久久老妇app | 9191在线视频| 国产女主播视频一区二区| 久久久无码精品亚洲国产| 在线一区二区视频| 性生活黄色大片| 中文字幕9999| 国产污视频在线播放| 国产在线视频91| 亚洲丝袜美腿一区| 女女百合国产免费网站| 国产欧美短视频| 亚洲最大天堂网| 国产午夜精品理论片a级大结局| 黄色一级片在线| 欧美日韩视频不卡| 日韩在线观看视频网站| 操日韩av在线电影| 日韩另类视频| 蜜桃传媒视频麻豆一区| 在线观看一区视频| 99999精品| 国产精品女主播在线观看| 黄色在线视频网址| 日韩精品资源二区在线| 久草中文在线| 国产精品久久久久福利| 女仆av观看一区| 黄色一级片国产| 国产毛片精品视频| 内射毛片内射国产夫妻| 欧美日韩国产精品专区 | 99久久er热在这里只有精品66| 亚洲综合网在线| 欧美中文字幕一区二区三区亚洲| 欧美老女人性开放| 69av在线播放| 乱中年女人伦av一区二区| 成人免费在线网| 成人免费va视频| 欧美三级在线免费观看| 这里只有精品99re| 日本成人在线播放| 国产精品午夜国产小视频| 欧美色图国产精品| 鲁一鲁一鲁一鲁一澡| 成人涩涩免费视频| www.av视频在线观看| 亚洲电影在线观看| 精品视频在线一区二区| 成人国产精品免费视频| 久久精品99久久无色码中文字幕| 欧美日韩999| 一区二区三区免费在线观看视频| 不卡在线观看av| 国产亚洲第一页| 欧美一区二区三区免费在线看| 欧美日韩xx| 亚洲一区中文字幕| 在线观看亚洲| 成人网站免费观看| 色噜噜久久综合| 北岛玲日韩精品一区二区三区| 国产精品老女人精品视频| 日韩毛片视频| 青青草原播放器| 亚洲超碰97人人做人人爱| 日韩欧美在线观看一区二区| 欧美最猛性xxxxx免费| 精品在线手机视频| 色播五月综合网| 亚洲欧美日韩国产中文在线| 国产aⅴ爽av久久久久成人| 日韩在线观看高清| 日韩在线视频一区二区三区| 高清欧美精品xxxxx| 久久午夜国产精品| 在线观看免费中文字幕| 欧美久久精品午夜青青大伊人| 一区二区精彩视频| 精品少妇一区二区三区在线| 久久久久久97三级| 国产免费久久久| 2019中文字幕全在线观看| 精品国产99| 久久精品无码一区二区三区毛片| 亚洲一区二区三区爽爽爽爽爽| 头脑特工队2在线播放| 国产精品久久网| 伊人影院久久| 久久久久久国产免费a片| 日韩亚洲欧美成人一区| 女海盗2成人h版中文字幕| 五月天婷亚洲天综合网鲁鲁鲁| 精品中文字幕一区二区小辣椒| 久久国产露脸精品国产| 在线观看亚洲区| 国产麻豆一区二区三区| 国产主播在线看| 亚洲欧美日韩国产综合| 黄色在线播放| 亚洲va电影大全| 男人的天堂亚洲在线| www.99re7| 国产亚洲欧美日韩美女| 第四色在线一区二区|