久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 開發 > Linux Shell > 正文

關于Shell腳本效率優化的一些個人想法

2020-07-27 19:27:16
字體:
來源:轉載
供稿:網友
一、先說一下Shell腳本語言自身的局限性

作為解釋型的腳本語言,天生就有效率上邊的缺陷。盡管它調用的其他命令可能效率上是不錯的。
Shell腳本程序的執行是順序執行,而非并行執行的。這很大程度上浪費了可能能利用上的系統資源。
Shell每執行一個命令就創建一個新的進程,如果腳本編寫者沒有這方面意識,編寫腳本不當的話,是非常浪費系統資源的。

二、我們在Shell腳本語言的局限性上盡可能的通過我們有經驗的編碼來提高腳本的效率。

1、比如我想做一個循環處理數據,可能是簡單的處理一下數據,這樣會讓人比較容易就想到Shell里的循環類似這樣:
復制代碼 代碼如下:

sum=0
for((i=0;i<100000;i++))
do
sum=$(($sum+$i))
done
echo $sum

我們可以使用time這個腳本來測試一下十萬次循環的三次執行耗時:
real 0m2.115s
user 0m1.975s
sys 0m0.138s

real 0m2.493s
user 0m2.173s
sys 0m0.254s

real 0m2.085s
user 0m1.886s
sys 0m0.195s
平均耗時2.2s,如果你知道awk命令里的循環的話,那更好了,我們來測試一下同數據規模的循環三次執行耗時:
復制代碼 代碼如下:

awk 'BEGIN{
sum=0;
for(i=0;i<100000;i++)
sum=sum+i;
print sum;
}'

real 0m0.023s
user 0m0.018s
sys 0m0.005s

real 0m0.020s
user 0m0.018s
sys 0m0.002s

real 0m0.021s
user 0m0.019s
sys 0m0.003s
你都不敢想象平均時間僅0.022s,基本上純循環的效率已經比Shell高出兩位數量級了。事實上你再跑百萬次的循環你會發現Shell已經比較吃力了,千萬級的更是艱難。所以你應該注意你的程序盡量使用awk來做循環操作。

2、關于正則,經常寫Shell的同學都明白它的重要性,但是你真的能高效使用它嗎?
下邊舉個例子:現在我有一個1694617行的日志文件 action.log,它的內容類似:
2012_02_07 00:00:04 1977575701 183.10.69.47 login 500004 1977575701 old /***/port/***.php?…
我現在想獲取//之間的port的字符串,我可以這樣:
awk -F'/' ‘{print $3}' < 7action.log > /dev/null
但是你不會想知道它的效率:
real 0m12.296s
user 0m12.033s
sys 0m0.262s
相信我,我不會再想看著光標閃12秒的。但是如果這樣執行:
awk ‘{print $9}' < 7action.log | awk -F'/' '{print $3}' > /dev/null
這句的效率三次分別是:
real 0m3.691s
user 0m5.219s
sys 0m0.630s

real 0m3.660s
user 0m5.169s
sys 0m0.618s

real 0m3.660s
user 0m5.150s
sys 0m0.612s
平均時間大概3.6秒,這前后效率大概有4倍的差距,雖然不像上一個有百倍的差距,但是也足夠讓4小時變成1小時了。我想你懂這個差距的。

其實這個正則實例你可以嘗試推測其他的情況,因為正則每次運行都是需要啟動字符串匹配的,而且默認的分隔符會較快的按字段區分出。所以我們在知道一些數據規律之后可以嘗試大幅度的縮短我們將要進行復雜正則匹配的字符串,這樣會根據你縮減數據規模有一個非常明顯的效率提升,上邊還是驗證的比較簡單的正則匹配情況,只有一個單字符“/”,你可以試想如果正則表達式是這樣:
$7!~//.jpg$/&&$7~//.[s]?html|/.php|/.xml|//$/&&($9==200||$9==304)&&$1!~/^103/.108|^224/.215|^127/.0|^122/.110/.5/
我想你可以想象的出一個目標匹配字符串從500個字符縮減到50個字符的時候的巨大意義!

ps:另外詳細的正則優化請看這個日期之后發的一篇博文。

3、再說一下shell的重定向和管道。這個條目我不會再舉例子,只是說一下我個人的理解。
周所周知,很多程序或者語言都有一個比較突出的效率瓶頸就是IO,Shell也不例外(個人這么考慮)。所以建議盡可能的少用重定向來進行輸入輸出這樣的操作或者創建臨時文件來供后續使用,當然,如果必須這么干的時候那就這么干吧,我只是講一個盡量的過程。
我們可以用Shell提供的管道來實現命令間數據的傳遞。如果進行連續的對數據進行過濾性命令的時候,盡量把一次性過濾較多的命令放在前邊,這個原因都懂吧?減少數據傳遞規模。
最后我想說的連管道也盡量的少用的,雖然管道比正常的同定向IO快幾個數量級的樣子,但是那也是需要消耗額外的資源的,好好設計你的代碼來減少這個開銷吧。比如sort | uniq 命令,完全可以使用 sort -u 來實現。

4、再說一下Shell腳本程序的順序執行。這塊的優化取決于你的系統負載是否達到了極限,如果你的系統連命令的順序執行負載都到了一個較高的線的話,你就沒有必要進行Shell腳本程序的并行改造了。下邊給出一個例子,如果你要模仿這個優化,請保證你的系統還能有負載空間。比如現在有這樣一個程序:
supportdatacommand1
supportdatacommand2
supportdatacommand3
supportdatacommand4
supportdatacommand5
supportdatacommand6

need13datacommand
need24datacommand
need56datacommand
大意就是有6個提供數據的命令在前邊,后面有3個需要數據的命令,第一個需要數據的命令需要數據13,第二個需要24,第三個需要56。但是正常情況下Shell會順序的執行這些命令,從supportdatacommand1,一條一條執行到need56datacommand。這樣的過程你看著是不是也很蛋疼?明明可以更好的做這一塊的,蛋疼的程序可以這樣改造:
復制代碼 代碼如下:

supportdatacommand1 &
supportdatacommand2 &
supportdatacommand3 &
supportdatacommand4 &
supportdatacommand5 &
supportdatacommand6 &
#2012-02-22 ps:這里的循環判斷后臺命令是否執行完畢是有問題的,pidnum循#環減到最后也還是1不會得到0值,具體解決辦法看附錄,因為還有解釋,就不在這#里添加和修改了。
while true
do
sleep 10s
pidnum=`jobs -p | wc -l`
if [ $pidnum -le 0 ]
then
echo "run over"
break
fi
done

need13datacommand &
need24datacommand &
need56datacommand &

wait
...

可以類似上邊的改造。這樣改造之后蛋疼之感就紓解的多了。但還是感覺不是很暢快,那好吧,我們可以再暢快一點(我是指程序。。。),可以類似這樣:
復制代碼 代碼如下:

for((i=0;i<1;i++));do
{
command1
command2
}&
done

for((i=0;i<1;i++));do
{
command3&
command4&
}&
done

for((i=0;i<1;i++));do
{
command5 &
command6 &
if 5 6執行完畢...
command7
}&
done

這樣類似這樣的改造,讓有前后關系的命令放在一個for循環里讓他們一起執行去,這樣三個for循環其實是并行執行了。然后for循環內部的命令你還可以類似改造1的那種方式改造或者內嵌改造2這個的并行for循環,都是可以的,關鍵看你想象力了。恩?哦,不對,關鍵是看這些個命令之間是一種什么樣的基友關系了。有關聯的放一個屋里就行了,剩下的你就不用操心了。嘿嘿~~

其實這個優化真的需要看系統負載。

5、關于對shell命令的理解。這個條目就靠經驗了,因為貌似沒有相關的書籍可看,如果誰知道有,請推薦給我,我會灰常感謝的啊。
比如:sed -n '45,50p' 和 sed -n '51q;45,50p' ,前者也是讀取45到50行,后者也是,但是后者到51行就執行了退出sed命令,避免了后續的操作讀取。如果這個目標文件的規模巨大的話,剩下的你懂的。
還有類似sed ‘s/foo/bar/g' 和sed ‘/foo/ s/foo/bar/g'
sed支持采用正則進行匹配和替換,考慮字符串替換的需求中,不防加上地址以提高速度。實例中通過增加一個判斷邏輯,采用“事先匹配”代替“直接替換”,由于sed會保留前一次的正則匹配環境,不會產生冗余的正則匹配,因此后者具有更高的效率。關于sed命令的這兩點優化,我也在sed命令詳解里有提到。

還有類似sort 如果數字盡量用 -n選項;還有統計文件行數,如果每行的數據在占用字節數一樣的情況時就可以ls查文件大小然后除以每行的數據大小的出行數,而避免直接使用wc -l這樣的命令;還有find出來的數據,別直接就-exec選項了,如果數據規模小很好,但是如果你find出來上千條數據或更多,你會瘋掉的,不,系統會瘋掉的,因為每行數據都會產生新的進程,你可以這樣find …. | xargs ….;還有…(如果你也知道類似的提效率情況請你告訴我共同進步!)

三、關于優化更好的一些選擇

一個比較好的提升Shell腳本的效率方法就是…… 就是…… 就是…… 好吧,就是盡量少用Shell(別打我?。。。。┫逻吔o出一些debian官方統計的一些在linux系統上邊的各個語言的效率圖,咱都以C++為比較基準(系統規格:x64 Ubuntu™ Intel® Q6600® quad-core):
這些圖的查看方法,比如第一個圖java和c++的程序效率比較圖,總共分三個部分,分別是time、memory、code的比較,如果是c++/java ,就是說 c++做比較的分子,java做比較的分母,如果圖上的長條在哪邊,說明所在的那邊的程序使用的時間或者內存或者代碼較多,具體多多少就看長條長了多少。每一部分有多個長條圖形,每個長條圖案表示針對程序處理不同方面的任務時進行的測試。比如第一幅,c++和java在該環境下大部分情況下time上是差不多的,甚至java-server還有稍微的優勢,內存方面c++就有很大優勢,能夠使用比java少的多的內容做相同的事情,但是編碼量c++就稍微多一點點。以下的圖類似。
java和c++效率相比示意圖

python和c++效率相比示意圖

php和c++效率相比示意圖

perl和c++效率相比示意圖

通過上邊的圖我看可以知道C++在時間和空間上對Python、Perl、PHP有著絕對壓倒性的優勢,但是相對的編碼量較高。同java比只有內存使用上的優勢。但是我們這篇主要是針對Shell的,但是,又是但是,debian官網沒有把shell腳本納入效率比較的統計范圍啊!!!還是但是,我們知道Python、Perl、PHP都是號稱對Shell在效率方面有著明顯的優勢,所以你如果不滿意你通過以上提供的種種優化途徑后的Shell腳本程序的話,那你就可以嘗試換一種語言了。

但是我們往往不那么容易舍棄這么好用方便而且簡單的處理數據方式,也可以有個折中的方法,你先用time測試各個Shell腳本命令的耗時,針對特別耗時,特別讓人不能忍受的命令的效率使用C++程序處理,讓你的Shell腳本來調用這個針對局部數據處理的C++程序,這樣折中貌似還是能讓人接受吧?

四、最后說一下這篇是不敢稱為全面或者詳解的文章,是我對這一段Shell學習和實踐的一些心得,希望能有高手指點。也希望能幫到新踏入這一領域的新同學。以后有新的心得再添加吧。

感謝這篇文章的作者的博文指點。

2012-02-22 ps:循環檢測后臺命令是否結束的判斷修改:
解決方法暫時有兩個(具體沒有解釋,不太清楚原因):
1、
復制代碼 代碼如下:

sleep 8 &
sleep 16 &
while true
do
echo `jobs -p | wc -l`
jobs -l >> res
sleep 4
done

2、 檢查剩余個數的語句改成 jobs -l |grep -v “Done”|wc -l

第一個方案的解決是多執行一次jobs,可以解釋成為了消除最后的Done結果,但是這種解釋也是行不通的,因為循環是一直執行的,在echo里已經執行很多次jobs了,何止一次。

第二個方案是過濾掉jobs最后的輸出結果Done這條語句。算是繞過問題得到了期待的結果。

個人感覺bash解釋器優化掉了沒有后臺命令執行的jobs查詢命令,如果是優化掉了那也應該有個空的返回,wc依然可以得到0的結果啊。所以這個問題找不到具體原因,如果你知道請告訴我,非常感謝。。。 這里先感謝just do shell群里的Eric 沉默的土匪 GS 三人,非常感謝你們的幫助。

這里兩個方法不算好方法,只是奇怪這樣為什么不行,行的又該如何解釋。后來知道用wait命令就全解決了,耽誤那么多時間還是用的不明智的方法。

轉載請注明:三江小渡厚道喔!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
手机看片一区二区| 欧美色精品在线视频| a v视频在线观看| 制服丝袜在线第一页| 日日摸夜夜添夜夜添精品视频| 亚洲av无码国产精品久久| 国产精品一线二线三线| 久久久综合香蕉尹人综合网| 欧美综合激情网| 日韩在线国产精品| 精品嫩草影院久久| 在线观看亚洲一区| 一区二区三区四区五区视频在线观看 | 91麻豆产精品久久久久久| 日本高清视频网站| 国产精品国产三级国产aⅴ| 欧美日韩在线观看成人| 亚洲精品欧美极品| 韩国19禁主播vip福利视频| 亚洲一级一级97网| 日韩激情片免费| 亚洲成av人片在线观看香蕉| 欧美日韩国产区一| 欧美性生活大片视频| 亚洲国产日韩一级| 一区二区欧美国产| 一区二区不卡在线视频 午夜欧美不卡在| 91一区二区三区在线播放| 国产成人精品一区二区三区网站观看| 色婷婷国产精品免| 一本色道久久hezyo无码| av中文字幕网址| 99久久国产免费免费| 国产不卡av在线| 97国产精品久久| 欧美性大战久久久久久久| 亚洲在线观看免费| 亚洲电影激情视频网站| 亚洲愉拍自拍另类高清精品| 亚洲成人av在线电影| 天天做天天摸天天爽国产一区| 亚洲欧美经典视频| 亚洲午夜av在线| 精品欧美国产一区二区三区| 欧美综合久久久| 91精品中文字幕一区二区三区 | 国产精品久久久毛片| 欧美在线观看成人| 在线观看的毛片| 日本在线播放一区二区| 大尺度做爰床戏呻吟舒畅| 国产又粗又猛又爽视频| 久久黄色免费视频| 91精品中文字幕| 久久精品国产亚洲AV熟女| 天堂久久久久久| 免看一级a毛片一片成人不卡| 天堂网一区二区三区| 97在线视频人妻无码| 欧美自拍偷拍第一页| 国产一区欧美一区| 国产日韩高清在线| 色综合天天综合在线视频| 欧美电影一区二区| y97精品国产97久久久久久| 秋霞av国产精品一区| 粉嫩精品一区二区三区在线观看 | 国产视频一区二区在线观看| 亚洲女女做受ⅹxx高潮| 欧美日韩一区二区三区免费看| 亚洲精品国产精品久久清纯直播| 欧美激情在线视频二区| caoporn国产精品免费公开| 天堂精品一区二区三区| 国产精品白嫩初高中害羞小美女| 成人久久久久爱| 在线免费观看成人| 国产精品久久久久久久av福利| 91成年人网站| 波多野结衣高清在线| 久久精品99国产精品| 久久久久久久久久久电影| 色综合色综合色综合 | 美女福利视频网| 草久视频在线观看| 免费看日韩精品| 亚洲天堂成人网| 亚洲成人网在线| 欧美在线影院在线视频| 亚洲精品影院| 五月天丁香社区| 成人免费视频国产免费| 国产不卡视频一区| 欧美日韩一区二区在线观看 | 午夜不卡久久精品无码免费| 日本道在线观看| 国产在线播放一区| 色婷婷综合久久久久中文 | 中文字幕一区三区| 不卡在线视频中文字幕| 欧美日韩亚洲高清| 久久色免费在线视频| 精品国产一区二区三区四区精华 | 久久久久久久久久久久久久久久av | 国产又粗又猛又爽又黄91精品| 亚洲国产一区二区在线播放| 一区三区二区视频| 明星裸体视频一区二区| 天天躁日日躁狠狠躁av| 99国产精品久久久久久久成人| 一级黄色在线观看| 粉嫩久久99精品久久久久久夜| 色女孩综合影院| 97视频免费看| 日本久久久网站| 久久久久久福利| 丰满白嫩尤物一区二区| 日韩欧美高清一区| 国产专区一区二区三区| 欧美xxxxx精品| 天天综合网在线| 欧美性色xo影院| 国产精品678| 潘金莲激情呻吟欲求不满视频| 超碰在线观看91| 中文字幕日韩一区二区| 久久久精品视频在线观看| 黄色www在线观看| 欧美色图亚洲视频| www激情久久| 久久偷看各类女兵18女厕嘘嘘| 精品一区二区三区毛片| 美日韩一二三区| 欧美高清在线视频| 九九九久久国产免费| 91tv亚洲精品香蕉国产一区7ujn| 中文字幕一区二区三区5566| 久久久久久激情| 久久久五月婷婷| 久久国产精品免费视频| 欧美一区二区激情| 中文字幕在线天堂| 亚洲1区2区3区4区| 亚洲一区二区三区四区在线播放| 中文字幕在线国产| 精久久久久久久久久久| 亚洲精品视频二区| 精品久久久久久无码中文野结衣| 一级片在线免费播放| 亚洲韩国一区二区三区| 成人欧美一区二区三区在线| 毛片网站免费观看| www国产亚洲精品久久麻豆| 欧美精品成人在线| 涩多多在线观看| 黑人巨大精品欧美一区| 中文字幕亚洲一区| 在线观看免费污视频| 快she精品国产999| 亚洲色图欧美制服丝袜另类第一页| 污污污污污污www网站免费| 国产永久免费视频| 欧美视频一区二区三区在线观看 | 亚洲女人久久久| 中文字幕精品一区二区精品绿巨人| 国语自产精品视频在免费| 国产成人av片| 91免费看片在线观看| 奇米四色中文综合久久| 国产 欧美 在线| 亚洲欧美激情一区二区| 亚洲综合中文字幕在线| 久草网视频在线观看| 午夜精品久久久久久久久| 精品国产乱码久久久久久郑州公司 | 蜜桃久久精品乱码一区二区 | 久久国产精品久久国产精品| 亚洲视频一二三四| 国产伦精品一区二区三区在线观看 | 国产欧美日韩精品在线| 国产成人亚洲综合91精品| 日韩中文字幕有码| 亚洲国产一区二区视频| 少妇免费毛片久久久久久久久| 依依成人在线视频| 日韩av在线免费看| 久久久精品高清| 久久嫩草精品久久久精品| 国产啪精品视频| 国产精品999在线观看| 91精品国产综合久久精品app| 欧美高清视频在线观看| 成人手机在线免费视频| 亚洲丝袜精品丝袜在线| 久久久com| 囯产精品一品二区三区| 久久视频中文字幕| 四虎成人免费影院| 在线观看一区不卡| 激情六月丁香婷婷| 成人a区在线观看| 国产精品久久久久久久久久直播| 中文字幕+乱码+中文乱码91| 国产亚洲欧美一区| 亚洲理论片在线观看| 精品欧美aⅴ在线网站| 福利视频免费在线观看| 成人免费视频播放| 国产在线一区二区三区四区| 黄色av免费观看| 97久久久免费福利网址| 久久综合加勒比| 日韩国产在线看| 男男做爰猛烈叫床爽爽小说| 一本色道久久综合精品竹菊| 午夜激情av在线| 亚洲美女视频在线观看| 缅甸午夜性猛交xxxx| 久久久综合精品| 日韩欧美精品一区二区| 国产精品一区二区在线观看网站| 91欧美精品午夜性色福利在线| www.成人免费视频| 国产91在线视频| 97免费观看视频| 国模私拍一区二区三区| 波多野结衣啪啪| 欧美国产在线电影| 成年人av网站| 欧美激情第三页| 国产一区二区视频免费| 欧美成人黄色小视频| 青青操免费在线视频| 久久精品视频中文字幕| 日韩精品久久久久久久| 久久中国妇女中文字幕| 中文字幕免费观看| 97香蕉超级碰碰久久免费的优势| 天堂中文在线网| 精品日本美女福利在线观看| 亚洲精品中文字幕无码蜜桃| 亚洲色图一区二区| 黑人糟蹋人妻hd中文字幕| 亚洲免费视频成人| 亚洲成人福利在线观看| 精品国产乱码久久久久久婷婷 | 色综合av综合无码综合网站| 亚洲欧美日韩精品久久久久| wwwwww.色| 日本精品一区二区三区四区的功能| 青娱乐精品在线| 精品久久久三级丝袜| 天天综合天天做| 久久亚洲私人国产精品va| 国产永久免费视频| 99久久综合狠狠综合久久止| 国产成人自拍高清视频在线免费播放| 午夜精品一区二区三区在线观看 | 爱爱免费小视频| 日韩电影免费观看在线观看| 日韩三级av在线| 欧美一区二三区| 蜜桃视频在线观看一区| 亚洲无玛一区| 夜夜嗨av一区二区三区网页| 精品无码av一区二区三区不卡| 亚洲成年人在线播放| 国产 日韩 欧美 在线| 国产成人中文字幕| 国产一区二区0| 成人在线看视频| 欧美老年两性高潮| 国产 日韩 欧美 在线| 国产精品一区二区久久久久| 粉嫩13p一区二区三区| 日韩无套无码精品| 精品国产污污免费网站入口 | 亚洲精品成人悠悠色影视| 亚洲色图欧美日韩| 久久中文字幕视频| 亚洲 国产 欧美 日韩| 在线观看免费黄色片| 天堂中文网在线| 欧美激情一区二区三区在线视频 | 男人添女人荫蒂免费视频| 日韩欧美在线观看视频| 国产精品久久久久久久精| 青青在线视频一区二区三区| 大胆亚洲人体视频| 九九九九九国产| 一区二区三区无码高清视频| 视频一区二区免费| 色婷婷777777仙踪林| 91精品国产综合久久精品麻豆 | 91视频青青草| 国产精品久久久久久久久粉嫩av| 97se亚洲国产综合自在线 | av一区二区三区免费观看| 欧美精品xxxxbbbb| 黄色污污视频软件| 亚洲美女网站18| 欧美日韩黄色一区二区| 伊人网综合在线| 波多野结衣 作品| 精品免费视频一区二区| 刘亦菲毛片一区二区三区| 91黄色在线看| 亚洲精品色婷婷福利天堂| 日韩黄色一级片| 亚洲人成无码www久久久| 亚洲色图五月天| 精品在线播放午夜| 性生交大片免费看l| 2019av中文字幕| 中文字幕乱码一区二区免费| 欧美日韩国产一二三区| 亚洲综合在线做性| 日韩欧美在线观看视频| 国产又粗又长又大视频| 成人免费在线网| 色婷婷av一区二区三区在线观看 | 亚洲精品美女久久久久| 日韩精品午夜视频| 性高潮久久久久久| 国产精品女视频| 四季av日韩精品一区| 国产免费一区二区三区视频| 一色桃子一区二区| 成人深夜福利app| 91精品久久久久久久久久久久| 99在线观看| 欧美高清性hdvideosex| 天堂蜜桃91精品| 三叶草欧洲码在线| 国产精品一区二区三区在线| 欧美久久婷婷综合色| 久久综合五月| 狠狠人妻久久久久久综合蜜桃| 亚洲www在线| 欧美乱熟臀69xxxxxx| 日韩av在线播放中文字幕| 国产精品偷伦视频免费观看了| 欧美做受高潮1| 色哟哟一区二区三区| 久久天堂精品| 国产xxx在线观看 | 蜜桃av一区二区在线观看| 亚洲国产第一区| 欧美一区三区二区在线观看| 亚洲免费一在线| 国产精品网站在线| 国产精品主播一区二区| 精品人妻一区二区乱码| 国产91视觉| 精品亚洲一区二区| 国产精品久久久久一区二区三区共| 一路向西2在线观看| 欧美在线欧美在线| 在线视频你懂得一区| 久久精品国产一区二区三| 5566中文字幕| 男女激情免费视频| 欧美性受xxxx黑人猛交| 欧美性生活影院| 高清不卡一二三区| 波多野结衣电车| www.17c.com喷水少妇| 五月天亚洲综合| 78色国产精品| 欧美男男青年gay1069videost | 亚洲视频在线观看视频| 国产日韩视频一区二区三区| 在线观看视频二区| 久久福利小视频| 超碰97在线看| 国产不卡一区二区在线播放| 日韩情涩欧美日韩视频| 国产日本欧美一区二区| 欧美一级做性受免费大片免费| 久久久久亚洲AV成人无在| 青青视频在线播放| 国产伦一区二区三区色一情| 中日韩美女免费视频网站在线观看 | 人妻 日韩精品 中文字幕| 亚洲第一色av| 一区不卡视频| 国产高清在线不卡| 亚洲精品一区久久久久久| 亚洲午夜精品网| 国产精品主播直播| 97超碰人人草| 顶臀精品视频www| 亚洲一区二区偷拍| 中国人体摄影一区二区三区| 国产精品爽爽爽| 深夜精品寂寞黄网站在线观看| 欧美亚洲尤物久久| 久久午夜电影网| 青青草97国产精品免费观看 | 日韩av最新在线| 亚洲午夜视频在线| 99国产精品久| 日韩高清欧美激情| 91视频久久久| 国产美女福利视频| 日本中文字幕有码| 91视频最新入口| 一区视频二区视频| 粉嫩精品一区二区三区在线观看| 97婷婷大伊香蕉精品视频|