婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL幾點重要的性能指標計算和優化方法總結

MySQL幾點重要的性能指標計算和優化方法總結

熱門標簽:電銷機器人說明書 手機用地圖標注工具 安國在哪里辦理400電話 智能電銷機器人靠譜么 長安區違法建房地圖標注 電銷機器人公眾號推送 地圖標注培訓 昆明智能外呼系統中心 南宋地圖標注黃河華山

1 QPS計算(每秒查詢數)

針對MyISAM引擎為主的DB

MySQL> show GLOBAL status like 'questions';
+---------------+------------+
| Variable_name | Value   |
+---------------+------------+
| Questions   | 2009191409 |
+---------------+------------+
1 row in set (0.00 sec)

mysql> show global status like 'uptime';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Uptime    | 388402 |
+---------------+--------+
1 row in set (0.00 sec)

QPS=questions/uptime=5172,mysql自啟動以來的平均QPS,如果要計算某一時間段內的QPS,可在高峰期間獲取間隔時間t2-t1,然后分別計算出t2和t1時刻的q值,QPS=(q2-q1)/(t2-t1)

針對InnnoDB引擎為主的DB

mysql> show global status like 'com_update';
+---------------+----------+
| Variable_name | Value  |
+---------------+----------+
| Com_update  | 87094306 |
+---------------+----------+
1 row in set (0.00 sec)

mysql> show global status like 'com_select';
+---------------+------------+
| Variable_name | Value   |
+---------------+------------+
| Com_select  | 1108143397 |
+---------------+------------+
1 row in set (0.00 sec)


mysql> show global status like 'com_delete';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Com_delete  | 379058 |
+---------------+--------+
1 row in set (0.00 sec)

mysql> show global status like 'uptime';

+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Uptime    | 388816 |
+---------------+--------+
1 row in set (0.00 sec)

QPS=(com_update+com_insert+com_delete+com_select)/uptime=3076,某一時間段內的QPS查詢方法同上。

2 TPS計算(每秒事務數)

mysql> show global status like 'com_commit';

+---------------+---------+
| Variable_name | Value  |
+---------------+---------+
| Com_commit  | 7424815 |
+---------------+---------+
1 row in set (0.00 sec)

mysql> show global status like 'com_rollback';
+---------------+---------+
| Variable_name | Value  |
+---------------+---------+
| Com_rollback | 1073179 |
+---------------+---------+
1 row in set (0.00 sec)

mysql> show global status like 'uptime';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Uptime    | 389467 |
+---------------+--------+
1 row in set (0.00 sec)

TPS=(com_commit+com_rollback)/uptime=22

3 線程連接數和命中率

mysql> show global status like 'threads_%';
+-------------------+-------+
| Variable_name   | Value |
+-------------------+-------+
| Threads_cached  | 480  |   //代表當前此時此刻線程緩存中有多少空閑線程
| Threads_connected | 153  |  //代表當前已建立連接的數量,因為一個連接就需要一個線程,所以也可以看成當前被使用的線程數
| Threads_created  | 20344 |  //代表從最近一次服務啟動,已創建線程的數量
| Threads_running  | 2   |   //代表當前激活的(非睡眠狀態)線程數
+-------------------+-------+
4 rows in set (0.00 sec)

mysql> show global status like 'Connections';
+---------------+-----------+
| Variable_name | Value   |
+---------------+-----------+
| Connections  | 381487397 |
+---------------+-----------+
1 row in set (0.00 sec)

線程緩存命中率=1-Threads_created/Connections  = 99.994%

我們設置的線程緩存個數

mysql> show variables like '%thread_cache_size%';
+-------------------+-------+
| Variable_name   | Value |
+-------------------+-------+
| thread_cache_size | 500  |
+-------------------+-------+
1 row in set (0.00 sec)

根據Threads_connected可預估thread_cache_size值應該設置多大,一般來說250是一個不錯的上限值,如果內存足夠大,也可以設置成thread_cache_size值和threaads_connected值相同;

或者通過觀察threads_created值,如果該值很大或一直在增長,可以適當增加thread_cache_size的值;在休眠狀態下每個線程大概占用256KB左右的內存,所以當內存足夠時,設置太小也不會節約太多內存,除非該值已經超過幾千。

4 表緩存

mysql> show global status like 'open_tables%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables  | 2228 |
+---------------+-------+
1 row in set (0.00 sec)

我們設置的打開表的緩存和表定義緩存

mysql> show variables like 'table_open_cache';
+------------------+-------+
| Variable_name  | Value |
+------------------+-------+
| table_open_cache | 16384 |
+------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like 'table_defi%';
+------------------------+-------+
| Variable_name     | Value |
+------------------------+-------+
| table_definition_cache | 2000 |
+------------------------+-------+
1 row in set (0.00 sec)

針對MyISAM:

mysql每打開一個表,都會讀入一些數據到table_open_cache 緩存 中,當mysql在這個緩存中找不到相應的信息時,才會去磁盤上直接讀取,所以該值要設置得足夠大以避免需要重新打開和重新解析表的定義,一般設置為max_connections的10倍,但最好保持在10000以內。

還有種依據就是根據狀態open_tables的值進行設置,如果發現open_tables的值每秒變化很大,那么可能需要增大table_open_cache的值。

table_definition_cache 通常簡單設置為服務器中存在的表的數量,除非有上萬張表。

針對InnoDB:

與MyISAM不同,InnoDB的open table和open file并無直接聯系,即打開frm表時其相應的ibd文件可能處于關閉狀態;

故InnoDB只會用到table_definiton_cache,不會使用table_open_cache;

其frm文件保存于table_definition_cache中,而idb則由innodb_open_files決定(前提是開啟了innodb_file_per_table),最好將innodb_open_files設置得足夠大,使得服務器可以保持所有的.ibd文件同時打開。

5 最大連接數

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name    | Value |
+----------------------+-------+
| Max_used_connections | 1785 |
+----------------------+-------+
1 row in set (0.00 sec)

我們設置的max_connections大小

mysql> show variables like 'max_connections%';
+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 4000 |
+-----------------+-------+
1 row in set (0.00 sec)

通常max_connections的大小應該設置為比Max_used_connections狀態值大,Max_used_connections狀態值反映服務器連接在某個時間段是否有尖峰,如果該值大于max_connections值,代表客戶端至少被拒絕了一次,可以簡單地設置為符合以下條件:Max_used_connections/max_connections=0.8

6 Innodb 緩存命中率

mysql> show global status like 'innodb_buffer_pool_read%';
+---------------------------------------+--------------+
| Variable_name             | Value    |
+---------------------------------------+--------------+
| Innodb_buffer_pool_read_ahead_rnd   | 0      |
| Innodb_buffer_pool_read_ahead     | 268720    |   //預讀的頁數
| Innodb_buffer_pool_read_ahead_evicted | 0      |   
| Innodb_buffer_pool_read_requests   | 480291074970 | //從緩沖池中讀取的次數
| Innodb_buffer_pool_reads       | 29912739   |     //表示從物理磁盤讀取的頁數
+---------------------------------------+--------------+
5 rows in set (0.00 sec)

緩沖池命中率 = (Innodb_buffer_pool_read_requests)/(Innodb_buffer_pool_read_requests + Innodb_buffer_pool_read_ahead + Innodb_buffer_pool_reads)=99.994%

如果該值小于99.9%,建議就應該增大innodb_buffer_pool_size的值了,該值一般設置為內存總大小的75%-85%,或者計算出操作系統所需緩存+mysql每個連接所需的內存(例如排序緩沖和臨時表)+MyISAM鍵緩存,剩下的內存都給innodb_buffer_pool_size,不過也不宜設置太大,會造成內存的頻繁交換,預熱和關閉時間長等問題。

7 MyISAM Key Buffer命中率和緩沖區使用率

mysql> show global status like 'key_%';
+------------------------+-----------+
| Variable_name     | Value   |
+------------------------+-----------+
| Key_blocks_not_flushed | 0     |
| Key_blocks_unused   | 106662  |
| Key_blocks_used    | 107171  |
| Key_read_requests   | 883825678 |
| Key_reads       | 133294  |
| Key_write_requests   | 217310758 |
| Key_writes       | 2061054  |
+------------------------+-----------+
7 rows in set (0.00 sec)

mysql> show variables like '%key_cache_block_size%';
+----------------------+-------+
| Variable_name    | Value |
+----------------------+-------+
| key_cache_block_size | 1024 |
+----------------------+-------+
1 row in set (0.00 sec)


mysql> show variables like '%key_buffer_size%';
+-----------------+-----------+
| Variable_name  | Value   |
+-----------------+-----------+
| key_buffer_size | 134217728 |
+-----------------+-----------+
1 row in set (0.00 sec)

緩沖區的使用率=1-(Key_blocks_unused*key_cache_block_size/ key_buffer_size)=18.6%

讀命中率=1-Key_reads /Key_read_requests=99.98%

寫命中率=1-Key_writes / Key_write_requests =99.05%

可看到緩沖區的使用率并不高,如果很長一段時間后還沒有使用完所有的鍵緩沖,可以考慮把緩沖區調小一點。

鍵緩存命中率可能意義不大,因為它和應用相關,有些應用在95%的命中率下就工作良好,有些則需要99.99%,所以從經驗上看,每秒的緩存未命中次數更重要,假設一個獨立磁盤每秒能做100個隨機讀,那么每秒有5個緩沖未命中可能不會導致I/O繁忙,但每秒80個就可能出現問題。

每秒緩存未命中=Key_reads/uptime=0.33

8 臨時表使用情況

mysql> show global status like 'Created_tmp%';
+-------------------------+----------+
| Variable_name      | Value  |
+-------------------------+----------+
| Created_tmp_disk_tables | 19226325 |
| Created_tmp_files    | 117   |
| Created_tmp_tables   | 56265812 |
+-------------------------+----------+
3 rows in set (0.00 sec)

mysql> show variables like '%tmp_table_size%';
+----------------+----------+
| Variable_name | Value  |
+----------------+----------+
| tmp_table_size | 67108864 |
+----------------+----------+
1 row in set (0.00 sec)

可看到總共創建了56265812 張臨時表,其中有19226325 張涉及到了磁盤IO,大概比例占到了0.34,證明數據庫應用中排序,join語句涉及的數據量太大,需要優化SQL或者增大tmp_table_size的值,我設的是64M。該比值應該控制在0.2以內。

9 binlog cache使用情況

mysql> show status like 'Binlog_cache%'; 
+-----------------------+----------+
| Variable_name     | Value  |
+-----------------------+----------+
| Binlog_cache_disk_use | 15    |
| Binlog_cache_use   | 95978256 |
+-----------------------+----------+
2 rows in set (0.00 sec)

mysql> show variables like 'binlog_cache_size';
+-------------------+---------+
| Variable_name   | Value  |
+-------------------+---------+
| binlog_cache_size | 1048576 |
+-------------------+---------+
1 row in set (0.00 sec)

Binlog_cache_disk_use表示因為我們binlog_cache_size設計的內存不足導致緩存二進制日志用到了臨時文件的次數

Binlog_cache_use 表示 用binlog_cache_size緩存的次數

當對應的Binlog_cache_disk_use 值比較大的時候 我們可以考慮適當的調高 binlog_cache_size 對應的值

10 Innodb log buffer size的大小設置

mysql> show variables like '%innodb_log_buffer_size%';
+------------------------+---------+
| Variable_name     | Value  |
+------------------------+---------+
| innodb_log_buffer_size | 8388608 |
+------------------------+---------+
1 row in set (0.00 sec)
mysql> show status like 'innodb_log_waits';
+------------------+-------+
| Variable_name  | Value |
+------------------+-------+
| Innodb_log_waits | 0   |
+------------------+-------+
1 row in set (0.00 sec)

innodb_log_buffer_size我設置了8M,應該足夠大了;Innodb_log_waits表示因log buffer不足導致等待的次數,如果該值不為0,可以適當增大innodb_log_buffer_size的值。

11 表掃描情況判斷

mysql> show global status like 'Handler_read%';
+-----------------------+--------------+
| Variable_name     | Value    |
+-----------------------+--------------+
| Handler_read_first  | 19180695   |
| Handler_read_key   | 30303690598 |
| Handler_read_last   | 290721    |
| Handler_read_next   | 51169834260 |
| Handler_read_prev   | 1267528402  |
| Handler_read_rnd   | 219230406  |
| Handler_read_rnd_next | 344713226172 |
+-----------------------+--------------+
7 rows in set (0.00 sec)

Handler_read_first:使用索引掃描的次數,該值大小說不清系統性能是好是壞

Handler_read_key:通過key進行查詢的次數,該值越大證明系統性能越好

Handler_read_next:使用索引進行排序的次數
Handler_read_prev:此選項表明在進行索引掃描時,按照索引倒序從數據文件里取數據的次數,一般就是ORDER BY ... DESC

Handler_read_rnd:該值越大證明系統中有大量的沒有使用索引進行排序的操作,或者join時沒有使用到index

Handler_read_rnd_next:使用數據文件進行掃描的次數,該值越大證明有大量的全表掃描,或者合理地創建索引,沒有很好地利用已經建立好的索引

12 Innodb_buffer_pool_wait_free

mysql> show global status like 'Innodb_buffer_pool_wait_free';
+------------------------------+-------+
| Variable_name        | Value |
+------------------------------+-------+
| Innodb_buffer_pool_wait_free | 0   |
+------------------------------+-------+
1 row in set (0.00 sec)

該值不為0表示buffer pool沒有空閑的空間了,可能原因是innodb_buffer_pool_size設置太大,可以適當減少該值。

13 join操作信息

mysql> show global status like 'select_full_join';
+------------------+-------+
| Variable_name  | Value |
+------------------+-------+
| Select_full_join | 10403 |
+------------------+-------+
1 row in set (0.00 sec)

該值表示在join操作中沒有使用到索引的次數,值很大說明join語句寫得很有問題

mysql> show global status like 'select_range';
+---------------+----------+
| Variable_name | Value  |
+---------------+----------+
| Select_range | 22450380 |
+---------------+----------+
1 row in set (0.00 sec)

該值表示第一個表使用ranges的join數量,該值很大說明join寫得沒有問題,通??刹榭磗elect_full_join和select_range的比值來判斷系統中join語句的性能情況

mysql> show global status like 'Select_range_check';
+--------------------+-------+
| Variable_name   | Value |
+--------------------+-------+
| Select_range_check | 0   |
+--------------------+-------+
1 row in set (0.00 sec)

如果該值不為0需要檢查表的索引是否合理,表示在表n+1中重新評估表n中的每一行的索引是否開銷最小所做的聯接數,意味著表n+1對該聯接而言并沒有有用的索引。

mysql> show GLOBAL status like 'select_scan';
+---------------+-----------+
| Variable_name | Value   |
+---------------+-----------+
| Select_scan  | 116037811 |
+---------------+-----------+
1 row in set (0.00 sec)

select_scan表示掃描第一張表的連接數目,如果第一張表中每行都參與聯接,這樣的結果并沒有問題;如果你并不想要返回所有行但又沒有使用到索引來查找到所需要的行,那么計數很大就很糟糕了。

14 慢查詢

mysql> show global status like 'Slow_queries';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Slow_queries | 114111 |
+---------------+--------+
1 row in set (0.00 sec)

該值表示mysql啟動以來的慢查詢個數,即執行時間超過long_query_time的次數,可根據Slow_queries/uptime的比值判斷單位時間內的慢查詢個數,進而判斷系統的性能。

15表鎖信息

mysql> show global status like 'table_lock%';
+-----------------------+------------+
| Variable_name     | Value   |
+-----------------------+------------+
| Table_locks_immediate | 1644917567 |
| Table_locks_waited  | 53     |
+-----------------------+------------+
2 rows in set (0.00 sec)

這兩個值的比值:Table_locks_waited /Table_locks_immediate 趨向于0,如果值比較大則表示系統的鎖阻塞情況比較嚴重

以上這篇MySQL幾點重要的性能指標計算和優化方法總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql計算時間差函數
  • Mysql中通過生日計算年齡的多種方法
  • 在php和MySql中計算時間差的方法
  • mysql 字符串長度計算實現代碼(gb2312+utf8)
  • Mysql數據庫的QPS和TPS的意義和計算方法
  • 淺談mysql explain中key_len的計算方法
  • MySQL的查詢計劃中ken_len的值計算方法
  • mysql日期和時間的間隔計算實例分析
  • MySQL日期加減函數詳解
  • mysql 觸發器創建與使用方法示例
  • MySQL觸發器基本用法詳解【創建、查看、刪除等】
  • mysql累加計算實現方法詳解

標簽:江門 長沙 吉安 東莞 潛江 武漢 合肥 南昌

巨人網絡通訊聲明:本文標題《MySQL幾點重要的性能指標計算和優化方法總結》,本文關鍵詞  MySQL,幾點,重要的,性能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL幾點重要的性能指標計算和優化方法總結》相關的同類信息!
  • 本頁收集關于MySQL幾點重要的性能指標計算和優化方法總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    青青草97国产精品免费观看| 国产精品自拍av| 亚洲一二三区不卡| 精品99999| 日韩一区二区三区免费看| 国产亚洲欧美日韩俺去了| 日韩一区二区三区四区五区六区| 欧亚洲嫩模精品一区三区| 色老汉一区二区三区| 日本一区二区三区四区 | 日韩精品电影一区亚洲| 国产精品自在在线| 欧美网站一区二区| 精品国产乱码久久久久久久久| 另类小说视频一区二区| 午夜国产精品影院在线观看| 欧美一级日韩免费不卡| 丁香六月综合激情| 欧美zozo另类异族| 国产日韩欧美制服另类| 精品成人一区二区三区| 免费在线观看一区二区三区| 美腿丝袜一区二区三区| 在线免费观看日本一区| 亚洲一线二线三线久久久| 亚洲精品中文在线影院| 日韩伦理电影网| 亚洲午夜久久久久久久久电影院 | 国产精品一区二区无线| 在线视频国内自拍亚洲视频| 亚洲一区二区视频| 国产成人99久久亚洲综合精品| 91麻豆精品国产91久久久久| 国产精品原创巨作av| 欧美色倩网站大全免费| 亚洲精品水蜜桃| 精品美女一区二区三区| 一区二区三区四区亚洲| 国产a视频精品免费观看| 日本一区二区三级电影在线观看| 欧美国产一区在线| 日本国产一区二区| 日本高清免费不卡视频| 欧美亚洲一区二区在线| 日本福利一区二区| 精品处破学生在线二十三| 欧美日韩激情一区二区三区| 亚洲图片你懂的| 欧美四级电影网| 成人小视频免费观看| 91久久久免费一区二区| 国产日韩一级二级三级| 亚洲三级电影网站| 91精品福利在线一区二区三区 | 欧美四级电影网| caoporm超碰国产精品| 亚洲精品一区二区三区香蕉| 国产精品国产三级国产普通话蜜臀 | 91无套直看片红桃| 日本不卡一区二区三区高清视频| 日韩限制级电影在线观看| 欧美日韩在线播| 成人综合婷婷国产精品久久蜜臀| 精品国产乱码久久久久久牛牛| 国产精品乡下勾搭老头1| 韩国精品一区二区| 美女网站视频久久| 日韩影视精彩在线| 久久精品国产色蜜蜜麻豆| 中文无字幕一区二区三区| 久久久99久久| 日本不卡视频在线| 欧美激情一区二区三区| 日韩亚洲电影在线| 欧美电影精品一区二区| 欧美精品自拍偷拍动漫精品| 五月婷婷色综合| 精油按摩中文字幕久久| 国产欧美久久久精品影院| 亚洲精品视频在线| 亚洲欧美国产77777| 成人晚上爱看视频| 一本色道久久综合精品竹菊| 国产在线观看一区二区| 久久国产视频网| 亚洲国产欧美在线| 亚洲区小说区图片区qvod| 精品成人a区在线观看| 岛国av在线一区| 国产欧美一区在线| 理论片日本一区| |精品福利一区二区三区| 亚洲人成人一区二区在线观看| 依依成人精品视频| 欧美日韩亚洲综合| 欧洲国产伦久久久久久久| 日韩精品一二三| 久久久不卡网国产精品一区| 成人免费福利片| 亚洲成人久久影院| 亚洲成人在线网站| 久久精品亚洲精品国产欧美| 国产精品亚洲午夜一区二区三区 | www国产成人免费观看视频 深夜成人网| 欧美美女bb生活片| 色综合天天性综合| 欧美专区在线观看一区| 中文字幕成人av| 欧美熟乱第一页| 成人免费视频一区二区| av高清不卡在线| 日本精品裸体写真集在线观看| 久久99精品久久久久久动态图| 久久99精品国产.久久久久久 | 国产精品国产三级国产普通话三级| 国产成人午夜精品5599| 国产iv一区二区三区| 欧美一区二区播放| 成人免费在线播放视频| 亚洲视频 欧洲视频| 日韩欧美综合一区| 日韩精品一区国产麻豆| 中文字幕精品一区二区精品绿巨人| 国产精品夜夜嗨| 成人深夜在线观看| 成人少妇影院yyyy| 国产精品久久久久影院色老大 | 亚洲成av人片一区二区梦乃| 日韩电影在线看| 69久久99精品久久久久婷婷| 精品毛片乱码1区2区3区| 精品国产乱码久久久久久闺蜜 | 久久精品国产网站| 欧美三级中文字| 欧美在线免费播放| 91一区二区三区在线观看| 欧美日韩国产综合一区二区| 久久精品人人做人人爽人人| 亚洲成a人v欧美综合天堂下载 | 久久精品99国产精品| 国产毛片一区二区| 99久久伊人网影院| 精品国产伦一区二区三区观看体验| 中文字幕五月欧美| 成人免费三级在线| 欧美日韩一区在线观看| 日韩va欧美va亚洲va久久| 国产白丝精品91爽爽久久| 91精品国产91综合久久蜜臀| 捆绑紧缚一区二区三区视频 | 大桥未久av一区二区三区中文| 欧美日韩激情一区二区三区| 亚洲精品国产品国语在线app| 久久精品夜夜夜夜久久| 国产精品久久久久久久第一福利 | 一本大道久久a久久综合| 日韩一区二区精品在线观看| 日韩精品91亚洲二区在线观看| 国产欧美精品一区aⅴ影院 | 6080午夜不卡| 夜色激情一区二区| 欧美一区2区视频在线观看| 久久99国产乱子伦精品免费| 蜜臀av性久久久久蜜臀av麻豆| 亚洲国产成人自拍| 精品国产青草久久久久福利| 欧美性视频一区二区三区| 国产电影一区在线| 狠狠色丁香婷综合久久| 亚洲黄色性网站| 日韩在线一区二区| 五月婷婷久久丁香| 一区二区三区 在线观看视频| 亚洲午夜电影在线观看| 亚洲免费在线播放| 97久久精品人人澡人人爽| 精品少妇一区二区| 91精品国产一区二区| 欧美一激情一区二区三区| 国产欧美日韩中文久久| 久久精品男人天堂av| 欧美极品xxx| 久久精品国产**网站演员| 国产精品乱码人人做人人爱| 视频一区二区三区中文字幕| 看国产成人h片视频| 国产乱码字幕精品高清av| 国产精品99久久久久久宅男| 99精品1区2区| 久久日韩精品一区二区五区| 亚洲在线观看免费视频| 久久精品国产网站| 91精品国产综合久久香蕉麻豆 | 香蕉久久夜色精品国产使用方法 | 日av在线不卡| 精品一区二区三区免费毛片爱| 成人国产一区二区三区精品| 一本色道久久综合狠狠躁的推荐| 国产成人亚洲综合a∨婷婷图片 | caoporen国产精品视频|