日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 串行執行和并行執行實例

瀏覽:31日期:2022-07-27 08:25:38

我就廢話不多說了,大家還是直接看代碼吧!

#coding=utf-8 import threading import time import cx_Oracle from pprint import pprint import csv print time.asctime() table_name = 'dbtest.csv' f = open(table_name + '.csv', 'w') conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() def query01(): tname = threading.current_thread() aa=10 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query02(): tname = threading.current_thread() aa=20 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query03(): tname = threading.current_thread() aa=30 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query04(): tname = threading.current_thread() aa=40 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row def query05(): tname = threading.current_thread() aa=50 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query06(): tname = threading.current_thread() aa=60 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query07(): tname = threading.current_thread() aa=70 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() return row cursor.close() def query08(): tname = threading.current_thread() aa=80 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query09(): tname = threading.current_thread() aa=90 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() def query10(): tname = threading.current_thread() aa=100 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() threads = [] t1 = threading.Thread(target=query01, name=’query01’) threads.append(t1) t2 = threading.Thread(target=query02, name=’query02’) threads.append(t2) t2 = threading.Thread(target=query03, name=’query03’) threads.append(t2) t2 = threading.Thread(target=query04, name=’query04’) threads.append(t2) t2 = threading.Thread(target=query05, name=’query05’) threads.append(t2) t2 = threading.Thread(target=query06, name=’query06’) threads.append(t2) t2 = threading.Thread(target=query07, name=’query07’) threads.append(t2) t2 = threading.Thread(target=query08, name=’query08’) threads.append(t2) t2 = threading.Thread(target=query09, name=’query09’) threads.append(t2) t2 = threading.Thread(target=query10, name=’query10’) threads.append(t2) if __name__ == ’__main__’: for t in threads: # t.setDaemon(True) t.start() # t.run() # t.start() # print ’3333333’ print threading.current_thread() # print t.is_alive() # print ’3333333’ t.join() print 'all over ' print time.asctime() C:Python27python.exe C:/Users/tlcb/PycharmProjects/untitled/a2.py Wed Mar 28 11:08:19 2018 <_MainThread(MainThread, started 18744)> [(10, ’10boobook10’, ’10aaaaaaaaaaaa10’, ’10bbbbbbbbbbbbbbbbb10’), (10, ’10sssssssss10’, ’tlcb’, ’tlcb’), (10, ’10boobook10’, ’10aaaaaaaaaaaa10’, ’10bbbbbbbbbbbbbbbbb10’)] <_MainThread(MainThread, started 18744)> [(20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’), (20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’), (20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’)] <_MainThread(MainThread, started 18744)> [(30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’), (30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’), (30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’)] <_MainThread(MainThread, started 18744)> [(40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’), (40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’), (40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’)] <_MainThread(MainThread, started 18744)> [(50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’), (50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’), (50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’)] <_MainThread(MainThread, started 18744)> [(60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’), (60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’), (60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’)] <_MainThread(MainThread, started 18744)> <_MainThread(MainThread, started 18744)> [(80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’), (80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’), (80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’)] <_MainThread(MainThread, started 18744)> [(90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’), (90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’), (90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’)] <_MainThread(MainThread, started 18744)> [(100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’), (100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’), (100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’)] all over Wed Mar 28 11:08:34 2018 Process finished with exit code 0 這個時候是串行 花費了15秒 多線程跑: #coding=utf-8 import threading import time import cx_Oracle from pprint import pprint import csv print time.asctime() table_name = 'dbtest.csv' f = open(table_name + '.csv', 'w') def query01(): tname = threading.current_thread() aa=10 conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query02(): tname = threading.current_thread() aa=20 conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query03(): tname = threading.current_thread() aa=30 conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query04(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=40 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query05(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=50 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query06(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=60 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query07(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=70 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() return row cursor.close() conn.close() def query08(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=80 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query09(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=90 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() def query10(): conn = cx_Oracle.connect(’tlcbuser/tlcbuser@20.5.101.31/tlyy’) cursor = conn.cursor() tname = threading.current_thread() aa=100 # cursor.execute('SELECT * FROM TEST100 WHERE ID = %s', [aa]) cursor.prepare('''SELECT * FROM TEST100 WHERE ID=:id''') cursor.execute(None,{’id’:aa}) row = cursor.fetchall() print row return row cursor.close() conn.close() threads = [] t1 = threading.Thread(target=query01, name=’query01’) threads.append(t1) t2 = threading.Thread(target=query02, name=’query02’) threads.append(t2) t2 = threading.Thread(target=query03, name=’query03’) threads.append(t2) t2 = threading.Thread(target=query04, name=’query04’) threads.append(t2) t2 = threading.Thread(target=query05, name=’query05’) threads.append(t2) t2 = threading.Thread(target=query06, name=’query06’) threads.append(t2) t2 = threading.Thread(target=query07, name=’query07’) threads.append(t2) t2 = threading.Thread(target=query08, name=’query08’) threads.append(t2) t2 = threading.Thread(target=query09, name=’query09’) threads.append(t2) t2 = threading.Thread(target=query10, name=’query10’) threads.append(t2) if __name__ == ’__main__’: for t in threads: # t.setDaemon(True) t.start() # t.run() # t.start() # print ’3333333’ print threading.current_thread() # print t.is_alive() # print ’3333333’ t.join() print 'all over ' print time.asctime() C:Python27python.exe C:/Users/tlcb/PycharmProjects/untitled/a2.py Wed Mar 28 11:12:47 2018 <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> <_MainThread(MainThread, started 22500)> [(40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’), (40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’), (40, ’40boobook40’, ’40aaaaaaaaaaaa40’, ’40bbbbbbbbbbbbbbbbb40’)] [(60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’), (60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’), (60, ’60boobook60’, ’60aaaaaaaaaaaa60’, ’60bbbbbbbbbbbbbbbbb60’)] [(80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’), (80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’), (80, ’80boobook80’, ’80aaaaaaaaaaaa80’, ’80bbbbbbbbbbbbbbbbb80’)] [(50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’), (50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’), (50, ’50boobook50’, ’50aaaaaaaaaaaa50’, ’50bbbbbbbbbbbbbbbbb50’)] [(10, ’10boobook10’, ’10aaaaaaaaaaaa10’, ’10bbbbbbbbbbbbbbbbb10’), (10, ’10sssssssss10’, ’tlcb’, ’tlcb’), (10, ’10boobook10’, ’10aaaaaaaaaaaa10’, ’10bbbbbbbbbbbbbbbbb10’)] [(20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’), (20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’), (20, ’20boobook20’, ’20aaaaaaaaaaaa20’, ’20bbbbbbbbbbbbbbbbb20’)] [(30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’), (30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’), (30, ’30boobook30’, ’30aaaaaaaaaaaa30’, ’30bbbbbbbbbbbbbbbbb30’)] [(100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’), (100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’), (100, ’100boobook100’, ’100aaaaaaaaaaaa100’, ’100bbbbbbbbbbbbbbbbb100’)] [(90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’), (90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’), (90, ’90boobook90’, ’90aaaaaaaaaaaa90’, ’90bbbbbbbbbbbbbbbbb90’)] all over Wed Mar 28 11:12:55 2018 Process finished with exit code 0 此時花了 8秒

補充知識:python logging定制logstash的json日志格式

最近一直在折騰日志的收集,現在算是收尾了。 寫一篇算python優化logstash的方案。

其實大家都知道logstash調用grok來解析日志的話,是要消耗cpu的成本的,畢竟是需要正則的匹配的。

根據logstash調優的方案,咱們可以預先生成json的格式。 我這邊基本是python的程序,怎么搞尼 ?

有兩種方法,第一種方法是生成json后,直接打入logstash的端口。 還有一種是生成json寫入文件,讓logstash做tail操作的時候,把一行的日志數據直接載入json就可以了。

python下的日志調試用得時logging,改成json也是很好改得。 另外不少老外已經考慮到這樣的需求,已經做了python logstash的模塊。

import loggingimport logstashimport syshost = ’localhost’test_logger = logging.getLogger(’python-logstash-logger’)test_logger.setLevel(logging.INFO)test_logger.addHandler(logstash.LogstashHandler(host, 5959, version=1))# test_logger.addHandler(logstash.TCPLogstashHandler(host, 5959, version=1))test_logger.error(’python-logstash: test logstash error message.’)test_logger.info(’python-logstash: test logstash info message.’)test_logger.warning(’python-logstash: test logstash warning message.’)# add extra field to logstash messageextra = { ’test_string’: ’python version: ’ + repr(sys.version_info), ’test_boolean’: True, ’test_dict’: {’a’: 1, ’b’: ’c’}, ’test_float’: 1.23, ’test_integer’: 123, ’test_list’: [1, 2, ’3’],}test_logger.info(’python-logstash: test extra fields’, extra=extra)

python-logstash自帶了amqp的方案

import loggingimport logstash# AMQP parametershost = ’localhost’username = ’guest’password= ’guest’exchange = ’logstash.py’# get a logger and set logging leveltest_logger = logging.getLogger(’python-logstash-logger’)test_logger.setLevel(logging.INFO)# add the handlertest_logger.addHandler(logstash.AMQPLogstashHandler(version=1, host=host, durable=True, username=username, password=password, exchange=exchange))# logtest_logger.error(’python-logstash: test logstash error message.’)test_logger.info(’python-logstash: test logstash info message.’)test_logger.warning(’python-logstash: test logstash warning message.’)try: 1/0except: test_logger.exception(’python-logstash: test logstash exception with stack trace’)

不管怎么說,最后生成的格式是這樣就可以了。

{ '@source'=>'unknown', '@type'=>'nginx', '@tags'=>[], '@fields'=>{ 'remote_addr'=>'192.168.0.1', 'remote_user'=>'-', 'body_bytes_sent'=>'13988', 'request_time'=>'0.122', 'status'=>'200', 'request'=>'GET /some/url HTTP/1.1', 'request_method'=>'GET', 'http_referrer'=>'http://www.example.org/some/url', 'http_user_agent'=>'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1' }, '@timestamp'=>'2012-08-23T10:49:14+02:00'}

我這里簡單提一下,這個模塊用的不是很滿意,我在python下把日志打成了json字符串,我原本以為會像grok那樣,在Es里面,我的這條日志是個字段的結構,而不是這個日志都在message里面…. 我想大家應該明白了我的意思,這樣很是不容易在kibana的搜索…

在kibana搜索,我經常上 source:xxx AND level:INFO 結果正像上面描述的那樣,整條日志,都在@message里面。

以上這篇python 串行執行和并行執行實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
午夜在线一区二区| 亚洲五月综合| 无码日韩精品一区二区免费| 欧美日韩中文一区二区| 欧美福利一区| 一区二区亚洲视频| 国产精品久久久一区二区| 久久三级中文| 欧美激情三区| 欧美日韩在线二区| 六月丁香综合| 国产精品v亚洲精品v日韩精品| 成人午夜网址| 在线亚洲自拍| 免费黄网站欧美| 久久狠狠久久| 免费国产自久久久久三四区久久| 一区二区三区国产在线| 亚洲精品美女| 另类av一区二区| 久久wwww| 亚洲尤物av| 欧美成人亚洲| 久久精品99国产精品日本| 日韩精品导航| 一区二区精品| 日韩中文字幕区一区有砖一区| 国内激情久久| 日韩精品免费一区二区在线观看| 精品福利久久久| 粉嫩av一区二区三区四区五区| 91成人在线精品视频| 欧美极品一区二区三区| 国产精品日本一区二区不卡视频| 精品视频一区二区三区四区五区| 91精品成人| 成人午夜在线| 日本免费新一区视频| 蜜臀久久久久久久| 精品日韩毛片| 日韩高清欧美| 麻豆精品视频在线观看免费| 亚洲三级在线| 一区三区视频| 国产一区二区三区天码| 日韩美女国产精品| 亚洲精品福利| 日韩专区在线视频| 久久夜夜操妹子| 日韩高清在线不卡| 亚洲区第一页| 久久夜色精品| 亚洲天堂免费| 激情综合亚洲| 九一国产精品| 国产精品亚洲四区在线观看| 日韩精品亚洲专区| 国产九九精品| 精品一区二区三区四区五区| 精品视频高潮| 老司机久久99久久精品播放免费| 日韩有码av| 日本一区二区高清不卡| 亚洲欧洲一区二区天堂久久| 国产视频久久| 国产精品夜夜夜| 免费毛片在线不卡| 欧美激情aⅴ一区二区三区| 国产精品jk白丝蜜臀av小说| 久久精品国产99久久| 欧美一区=区| 亚洲播播91| 久久精品国产99国产| 久久亚洲电影| 欧美午夜不卡| 亚洲精品.com| 国产经典一区| 91精品国产自产观看在线| 久久一区视频| 久久狠狠亚洲综合| 日韩av网站免费在线| 欧美粗暴jizz性欧美20| 国产精品香蕉| 欧美xxxx中国| 日韩激情网站| 91精品91| 天堂中文在线播放| 亚洲激情婷婷| 久久精品av麻豆的观看方式| 日韩欧美美女在线观看| 深夜日韩欧美| 国产精品日韩精品在线播放| 免费毛片在线不卡| 国产美女视频一区二区| 麻豆国产欧美一区二区三区 | 国产成人精品亚洲日本在线观看| 国产欧美在线| 快she精品国产999| 黄色成人精品网站| 亚洲成人一区在线观看| 亚洲深夜视频| 日韩欧美精品一区二区综合视频| 岛国av在线网站| 日韩av一二三| 欧美精品一线| 国产 日韩 欧美 综合 一区| 亚洲久久视频| 亚洲国产专区| 日韩av在线播放网址| 青青在线精品| 精品成人免费一区二区在线播放| 日韩高清一区二区| 久久国产福利| 99热精品在线| 亚洲精品极品少妇16p| 综合日韩av| 欧美激情三区| 91精品国产自产精品男人的天堂| 亚洲视频播放| 亚洲成人三区| 国产精品av一区二区| 欧美freesex黑人又粗又大| 免费在线日韩av| 国产精品一区二区精品| 日韩精品一区二区三区中文在线| 日本强好片久久久久久aaa| 中文字幕免费精品| 日韩高清中文字幕一区| 中文字幕成在线观看| 久久国际精品| 精品理论电影在线| 色一区二区三区四区| 精品免费av| 中文字幕在线官网| 99久久亚洲精品蜜臀| 三级一区在线视频先锋| 黄色日韩精品| 精品三级久久| 国产一区二区高清| 偷拍亚洲精品| 欧美xxxx性| 精品国产一区二区三区性色av| 国产成人久久| 亚洲专区欧美专区| 久久亚州av| 久久精品av| 亚洲女人av| 欧美一区二区三区激情视频| 先锋影音久久久| 精品国产亚洲一区二区三区| 欧美日韩国产在线一区| 日本在线一区二区三区| 国产精品极品国产中出| 国产精品videossex久久发布| 成人日韩精品| 欧美亚洲网站| 青青草视频一区| 国产一区二区三区视频在线| 欧美午夜精彩| 国产乱码精品一区二区亚洲| 欧美.日韩.国产.一区.二区 | 日韩视频免费| 日韩成人午夜精品| 老牛影视精品| 日韩成人一级| 亚洲福利国产| 久久亚洲精品中文字幕| 999久久久国产精品| 国产精品密蕾丝视频下载| 特黄特色欧美大片| 国产精品蜜月aⅴ在线| 欧美性www| 亚洲v天堂v手机在线| 久久精品主播| 91日韩欧美| 日韩欧美字幕| 国产精品xx| 国产美女久久| 一区二区精品| 一级欧美视频| 亚洲午夜免费| 日产欧产美韩系列久久99| 国产精品嫩模av在线| 麻豆精品在线| 精品99久久| 精品一区二区男人吃奶| 精品在线网站观看| 久久亚洲人体| 在线日韩中文| 在线看片日韩| 国产精品久久亚洲不卡| 国产精品99一区二区三| 国产成人久久精品一区二区三区| 欧洲一级精品| 一区二区三区午夜视频| 欧美日韩1区| 日韩国产网站| 亚洲区第一页| 日本亚州欧洲精品不卡| 国产精品xxx在线观看|