【山外筆記-工具框架】Netperf網(wǎng)絡(luò)性能測試工具詳解教程

本文下載鏈接:

【學(xué)習(xí)筆記】Netperf網(wǎng)絡(luò)性能測試工具.pdf

一、Netperf工具簡介

1倦沧、什么是Netperf 它匕?

(1)Netperf是由惠普公司開發(fā)的一種網(wǎng)絡(luò)性能測量工具,主要針對基于TCP或UDP的傳輸告希。

(2)Netperf根據(jù)應(yīng)用的不同烧给,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測試,即批量數(shù)據(jù)傳輸(bulk data transfer)模式和請求/應(yīng)答(request/reponse)模式指么。

(3)Netperf測試結(jié)果所反映的是一個(gè)系統(tǒng)能夠以多快的速度向另外一個(gè)系統(tǒng)發(fā)送數(shù)據(jù)伯诬,以及另外一個(gè)系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)巫财。

2、Netperf 工作原理
(1)Netperf 工具的工作方式

① Netperf 工具以client/server方式工作桥言。

② server端是netserver葵礼,用來偵聽來自client端的連接。

③ client端是netperf扔涧,用來向server發(fā)起網(wǎng)絡(luò)測試届谈。

(2)Netperf 工具的工作原理

在client與server之間,首先建立一個(gè)控制連接湖雹,用于傳遞有關(guān)測試配置的信息曙搬,以及測試的結(jié)果鸽嫂。在控制連接建立并傳遞了測試配置信息以后据某,client與server之間會(huì)再建立一個(gè)測試連接诗箍,用來來回傳遞著特殊的流量模式,以測試網(wǎng)絡(luò)的性能筷狼。

(3)Netperf 工具的工作流程

① 建立控制連接:

  • ? server端netserver啟動(dòng)監(jiān)聽氨距,監(jiān)聽來自client端netperf 的連接請求俏让;

  • ? client端向server端發(fā)送控制連接請求茬暇,server端發(fā)現(xiàn)連接請求,建立控制連接勒奇。

  • ? 控制連接創(chuàng)建完成巧骚,使用BSD socket傳輸信息,屬于TCP連接竣蹦。

② 建立測試連接

  • ? client端通過控制連接向server端傳遞測試配置信息沧奴。

  • ? server端獲取測試配置信息,建立測試連接纲菌。

  • ? 測試連接用于傳輸各種模式的流量測試網(wǎng)絡(luò)的性能疮绷。

③ 測試網(wǎng)絡(luò)性能

  • ? client端通過測試連接向server端發(fā)送Bulk模式流量模式的數(shù)據(jù)。

  • ? server端接受Bulk模式流量模式的數(shù)據(jù)并產(chǎn)生測試結(jié)果1灶芝。

  • ? client端通過測試連接向server端發(fā)送request/response流量模式的數(shù)據(jù)。

  • ? server端接受request/response流量模式的數(shù)據(jù)并產(chǎn)生測試結(jié)果2夜涕。

④ 輸出測試結(jié)果

  • ? server端通過控制連接向client端發(fā)送測試結(jié)果。

  • ? client端接受到測試結(jié)果并顯示或保存酸役。

3驾胆、Netperf 安裝
(1)下載安裝 Netperf
wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz
tar -zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure
make && make install

編譯不過可嘗試執(zhí)行:./configure --build=mips

(2)確認(rèn)安裝成功

執(zhí)行netperf -hnetserver -h命令,確認(rèn)安裝成功入桂。

注:服務(wù)器及客戶端使用相同的源碼驳阎,測試時(shí)關(guān)閉防火墻

4、網(wǎng)絡(luò)性能測量的五項(xiàng)指標(biāo)

(1)可用性(availability)

測試網(wǎng)絡(luò)性能的第一步是確定網(wǎng)絡(luò)是否正常工作蜘腌,最簡單的方法是使用 ping 命令撮珠。通過向遠(yuǎn)端的機(jī)器發(fā)送 icmp echo request,并等待接收 icmp echo reply 來判斷遠(yuǎn)端的機(jī)器是否連通芯急,網(wǎng)絡(luò)是否正常工作志于。

(2)響應(yīng)時(shí)間(response time)

ping 命令的 echo request/reply 一次往返所花費(fèi)時(shí)間就是響應(yīng)時(shí)間废睦。

(3)網(wǎng)絡(luò)利用率(network utilization)

網(wǎng)絡(luò)利用率是指網(wǎng)絡(luò)被使用的時(shí)間占總時(shí)間(即被使用的時(shí)間+空閑的時(shí)間)的比例。

網(wǎng)絡(luò)測試工具一般使用網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)帶寬容量來確定網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間的性能奈应。

(4)網(wǎng)絡(luò)吞吐量(network throughput)

網(wǎng)絡(luò)吞吐量是指在某個(gè)時(shí)刻购披,在網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn)之間,提供給網(wǎng)絡(luò)應(yīng)用的剩余帶寬惩妇。

網(wǎng)絡(luò)吞吐量非常依賴于當(dāng)前的網(wǎng)絡(luò)負(fù)載情況,可以幫組尋找網(wǎng)絡(luò)路徑中的瓶頸歌殃。

(5)網(wǎng)絡(luò)帶寬容量(network bandwidth capacity)

網(wǎng)絡(luò)帶寬容量指的是在網(wǎng)絡(luò)的兩個(gè)節(jié)點(diǎn)之間的最大可用帶寬。這是由組成網(wǎng)絡(luò)的設(shè)備的能力所決定的路召。

二波材、Netperf 使用語法

1、neserver語法格式
參數(shù) 說明
-H host 指定遠(yuǎn)端運(yùn)行netserver的server IP地址
2唯灵、netperf語法格式

netperf 通過命令行參數(shù)來控制測試的類型和具體的測試選項(xiàng)隙轻。

netperf 命令行參數(shù)分為兩大類:全局命令行參數(shù)、測試相關(guān)的局部參數(shù)搞监,兩者之間使用--分隔镰矿。

[root@Netperf-test ~]# netperf -h
Usage: netperf [global options] -- [test options] 
Global options:
    -a send,recv      Set the local send,recv buffer alignment
    -A send,recv      Set the remote send,recv buffer alignment
    -B brandstr       Specify a string to be emitted with brief output
    -c [cpu_rate]     Report local CPU usage
    -C [cpu_rate]     Report remote CPU usage
    -d                Increase debugging output
    -D time,[units] * Display interim results at least every time interval
                      using units as the initial guess for units per second
                      A negative value for time will make heavy use of the
                      system's timestamping functionality
    -f G|M|K|g|m|k    Set the output units
    -F lfill[,rfill]* Pre-fill buffers with data from specified file
    -h                Display this text
    -H name|ip,fam *  Specify the target machine and/or local ip and family
    -i max,min        Specify the max and min number of iterations (15,1)
    -I lvl[,intvl]    Specify confidence level (95 or 99) (99) 
                      and confidence interval in percentage (10)
    -j                Keep additional timing statistics
    -l testlen        Specify test duration (>0 secs) (<0 bytes|trans)
    -L name|ip,fam *  Specify the local ip|name and address family
    -o send,recv      Set the local send,recv buffer offsets
    -O send,recv      Set the remote send,recv buffer offset
    -n numcpu         Set the number of processors for CPU util
    -N                Establish no control connection, do 'send' side only
    -p port,lport*    Specify netserver port number and/or local port
    -P 0|1            Don't/Do display test headers
    -r                Allow confidence to be hit on result only
    -s seconds        Wait seconds between test setup and test start
    -S                Set SO_KEEPALIVE on the data connection
    -t testname       Specify test to perform
    -T lcpu,rcpu      Request netperf/netserver be bound to local/remote cpu
    -v verbosity      Specify the verbosity level
    -W send,recv      Set the number of send,recv buffers
    -v level          Set the verbosity level (default 1, min 0)
    -V                Display the netperf version and exit
    -y local,remote   Set the socket priority
    -Y local,remote   Set the IP_TOS. Use hexadecimal.
    -Z passphrase     Set and pass to netserver a passphrase
(1)全局命令行參數(shù) [global options]
參數(shù) 說明
-H host 指定遠(yuǎn)端運(yùn)行netserver的server IP地址
-l testlen 指定測試的時(shí)間長度(秒)
-t testname 指定進(jìn)行的測試類型(包括TCP_STREAM秤标,UDP_STREAM苍姜,TCP_RR悬包,TCP_CRR,UDP_RR)垫释。
(2)局部可選參數(shù) [test options]
參數(shù) 說明
-s size 設(shè)置本地系統(tǒng)的socket發(fā)送與接收緩沖大小
-S size 設(shè)置遠(yuǎn)端系統(tǒng)的socket發(fā)送與接收緩沖大小
-m size 設(shè)置本地系統(tǒng)發(fā)送測試分組的大小撑瞧,測試PPS時(shí)值為1。測試BPS時(shí)為1400订咸。
-M size 設(shè)置遠(yuǎn)端系統(tǒng)接收測試分組的大小
-p port 設(shè)置測試連接Server端的端口
-D 對本地與遠(yuǎn)端系統(tǒng)的socket設(shè)置TCP_NODELAY選項(xiàng)
-r req,resp 設(shè)置request和reponse分組的大小
2、Netperf 模擬的流量模式
(1)Netperf 模擬的TCP流量模式
  • 單個(gè)TCP連接脏嚷,批量(bulk)傳輸大量數(shù)據(jù)

  • 單個(gè)TCP連接,request/response流量模式

  • 多個(gè)TCP連接艾船,每個(gè)連接中一對request/response的交易(transaction)方式

TCP協(xié)議提供端到端]的可靠傳輸高每,但可靠性的建立會(huì)消耗一定的網(wǎng)絡(luò)帶寬。

(2)Netperf 模擬的UDP流量模式
  • 從client到server的單向批量傳輸

  • 請求/應(yīng)答request/response的交易方式

UDP不保證傳輸?shù)目煽啃砸常谑褂胣etperf時(shí)要確保發(fā)送的緩沖區(qū)大小不大于接收緩沖區(qū)大小带欢,否則數(shù)據(jù)會(huì)丟失,netperf將給出錯(cuò)誤的結(jié)果吁朦。因此渡贾,對于接收到分組的統(tǒng)計(jì)不一定準(zhǔn)確,需要結(jié)合發(fā)送分組的統(tǒng)計(jì)綜合得出結(jié)論空骚。

三、Netperf 測試實(shí)例

Netperf 測試主要分服務(wù)端和客戶端熬甚,在一臺(tái)主機(jī)運(yùn)行服務(wù)端netserver肋坚,在另一臺(tái)主機(jī)運(yùn)行客戶端netperf。

  • 服務(wù)端:192.168.0.128
  • 客戶端:192.168.0.120

測試通過單個(gè)TCP連接傳輸批量數(shù)據(jù)诲泌。

1峦剔、啟動(dòng)服務(wù)端
[root@Netserver-test ~]# netserver -p 4444      //服務(wù)端開放4444端口用于監(jiān)聽
Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

通常建議在server端執(zhí)行sar命令來統(tǒng)計(jì)實(shí)際收到的包并作為實(shí)際結(jié)果:sar -n DEV 1 320

2呻澜、啟動(dòng)客戶端
[root@Netperf-test ~]# netperf -H 192.168.0.128 -l 60 --m 1
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  
87380  16384  16384    60.01     935.66   

測試結(jié)果:顯示吞吐量是881.21Mb/s。

四羹幸、Netperf 網(wǎng)絡(luò)性能測試分類

1、批量(bulk)網(wǎng)絡(luò)流量的性能測試

根據(jù)使用傳輸協(xié)議的不同将硝,批量數(shù)據(jù)傳輸又分為TCP批量傳輸和UDP批量傳輸屏镊。

(1)TCP_STREAM

Netperf缺省情況下進(jìn)行TCP批量傳輸,即-t TCP_STREAM律罢,用來測試進(jìn)行TCP批量傳輸時(shí)的網(wǎng)絡(luò)性能棍丐。

測試過程中,netperf向netserver發(fā)送批量的TCP數(shù)據(jù)分組巾钉,以確定數(shù)據(jù)傳輸過程中的吞吐量秘案。

[root@Netperf-test ~]# netperf -H 192.168.0.128 -l 60
TCP STREAM TEST to 192.168.0.128
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec
87380  16384  16384    60.00      88.00

從netperf的結(jié)果輸出中可知:

  • 遠(yuǎn)端系統(tǒng)(即server)使用大小為87380字節(jié)的socket接收緩沖

  • 本地系統(tǒng)(即client)使用大小為16384字節(jié)的socket發(fā)送緩沖

  • 向遠(yuǎn)端系統(tǒng)發(fā)送的測試分組大小為16384字節(jié)

  • 測試經(jīng)歷的時(shí)間為60秒

  • 吞吐量的測試結(jié)果為88Mbits/秒

在缺省情況下,netperf向netserver發(fā)送的測試分組大小設(shè)置為本地系統(tǒng)所使用的socket發(fā)送緩沖大小师骗。

如果懷疑路由器由于缺乏足夠的緩沖區(qū)空間讨惩,使得轉(zhuǎn)發(fā)大的分組時(shí)存在問題寒屯,就可以增加測試分組(-m)的大小,以觀察吞吐量的變化处面。減小測試分組的大小,如果吞吐量有了較大的提升魂角,則說明在網(wǎng)絡(luò)中間的路由器確實(shí)存在緩沖區(qū)的問題智绸。

(2)UDP_STREAM

UDP_STREAM用來測試進(jìn)行UDP批量傳輸時(shí)的網(wǎng)絡(luò)性能访忿。

測試UDP的網(wǎng)絡(luò)性能時(shí)海铆,測試分組的大小不得大于socket的發(fā)送與接收緩沖大小挣惰,否則netperf會(huì)報(bào)出錯(cuò)提示。

[root@Netperf-test ~]# netperf -t UDP_STREAM -H 192.168.0.128 -l 60
UDP UNIDIRECTIONAL SEND TEST to 192.168.0.128
udp_send: data send error: Message too long

為了避免這樣的情況珍语,可以通過命令行參數(shù)限定測試分組的大小竖幔,或者增加socket的發(fā)送/接收緩沖大小。

UDP_STREAM方式使用使用-m來修改測試中使用分組的大小亡驰。

[root@Netperf-test ~]# netperf -t UDP_STREAM -H 192.168.0.128 -- -m 1024
UDP UNIDIRECTIONAL SEND TEST to 192.168.0.128
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec
65535    1024    9.99        114127     0      93.55
65535            9.99        114122            93.54

UDP_STREAM方式的結(jié)果中有兩行測試數(shù)據(jù):

第一行顯示的是本地系統(tǒng)的發(fā)送統(tǒng)計(jì)饿幅,吞吐量93.55Mbits/秒表示netperf向本地socket發(fā)送分組的能力。但是UDP是不可靠的傳輸協(xié)議透乾,發(fā)送出去的分組數(shù)量不一定等于接收到的分組數(shù)量磕秤。

第二行顯示的就是遠(yuǎn)端系統(tǒng)接收的情況,遠(yuǎn)端系統(tǒng)的吞吐量93.54Mbits/秒也幾乎等于本地系統(tǒng)的發(fā)送吞吐量市咆。但是,在實(shí)際環(huán)境中磷瘤,一般遠(yuǎn)端系統(tǒng)的socket緩沖大小不同于本地系統(tǒng)的socket緩沖區(qū)大小搜变,而且由于UDP協(xié)議的不可靠性,遠(yuǎn)端系統(tǒng)的接收吞吐量要遠(yuǎn)遠(yuǎn)小于發(fā)送出去的吞吐量扳抽。

2、請求/應(yīng)答(request/response)網(wǎng)絡(luò)流量的性能測試

在client/server結(jié)構(gòu)中的request/response模式赂苗。在每次交易(transaction)中贮尉,client向server發(fā)出小的查詢分組,server接收到請求猜谚,經(jīng)處理后返回大的結(jié)果數(shù)據(jù)。

(1)TCP_RR

TCP_RR方式的測試對象是多次TCP request和response的交易過程昌犹,但發(fā)生在同一個(gè)TCP連接中览芳,這種模式常常出現(xiàn)在數(shù)據(jù)庫應(yīng)用中。數(shù)據(jù)庫的client程序與server程序建立一個(gè)TCP連接以后铸敏,就在這個(gè)連接中傳送數(shù)據(jù)庫的多次交易過程悟泵。

[root@Netperf-test ~]# netperf -t TCP_RR -H 192.168.0.128
TCP REQUEST/RESPONSE TEST to 192.168.0.128
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec
16384  87380  1        1       10.00    9502.73
16384  87380

Netperf輸出的結(jié)果也是由兩行組成。第一行顯示本地系統(tǒng)的情況蒙具,第二行顯示的是遠(yuǎn)端系統(tǒng)的信息朽肥。平均的交易率(transaction rate)為9502.73次/秒。

通過使用-r參數(shù)設(shè)置request和reponse分組的大小篱昔,可以進(jìn)行更有實(shí)際意義的測試。

[root@Netperf-test ~]# netperf -t TCP_RR -H 192.168.0.128 -- -r 32,1024
TCP REQUEST/RESPONSE TEST to 192.168.0.128
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec
16384  87380  32       1024    10.00    4945.97
16384  87380
(2)TCP_CRR

TCP_CRR的測試對象是多次TCP request和response的交易過程旱爆,但為每次交易建立一個(gè)新的TCP連接窘茁。最典型的應(yīng)用就是HTTP脆烟,每次HTTP交易是在一條單獨(dú)的TCP連接中進(jìn)行的。因此驼抹,由于需要不停地建立新的TCP連接,并且在交易結(jié)束后拆除TCP連接流椒,交易率一定會(huì)受到很大的影響明也。

[root@Netperf-test ~]# netperf -t TCP_CRR -H 192.168.0.128
TCP Connect/Request/Response TEST to 192.168.0.128
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec
131070 131070 1        1       9.99     2662.20
16384  87380

即使是使用一個(gè)字節(jié)的request/response分組,交易率也明顯的降低了绣硝,只有2662.20次/秒。TCP_CRR使用與TCP_RR相同的局部參數(shù)鹉胖。

(3)UDP_RR

UDP_RR方式使用UDP分組進(jìn)行request/response的交易過程够傍。由于沒有TCP連接所帶來的負(fù)擔(dān),所以我們推測交易率一定會(huì)有相應(yīng)的提升淑蔚。

[root@Netperf-test ~]# netperf -t UDP_RR -H 192.168.0.128
UDP REQUEST/RESPONSE TEST to 192.168.0.128
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate
bytes  Bytes  bytes    bytes   secs.    per sec
65535  65535  1        1       9.99     10141.16
65535  65535

結(jié)果證實(shí)了我們的推測愕撰,交易率為10141.16次/秒,高過TCP_RR的數(shù)值带迟。不過囱桨,如果出現(xiàn)了相反的結(jié)果,即交易率反而降低了舍肠,也不需要擔(dān)心,因?yàn)檫@說明了在網(wǎng)絡(luò)中叽躯,路由器或其它的網(wǎng)絡(luò)設(shè)備對UDP采用了與TCP不同的緩沖區(qū)空間和處理技術(shù)肌括。

五、學(xué)習(xí)筆記參考資料

1、《Netperf-百度百科》憨募,https://baike.baidu.com/item/netperf/11070957?fr=aladdin

2袁辈、《Netperf安裝及使用》,soloate葛菇,https://www.cnblogs.com/soloate/p/5763748.html

3橡羞、《netperf 與網(wǎng)絡(luò)性能測量》,湯凱莺债,https://www.ibm.com/developerworks/cn/linux/l-netperf/

4、《網(wǎng)絡(luò)性能測試方法》齐邦,阿里云幫助文檔第租,https://help.aliyun.com/knowledge_detail/55757.html#HFXbx

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慎宾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子趟据,更是在濱河造成了極大的恐慌,老刑警劉巖粘衬,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咳促,死亡現(xiàn)場離奇詭異,居然都是意外死亡褂删,警方通過查閱死者的電腦和手機(jī)尺迂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門冒掌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹲盘,“玉大人召衔,你說我怎么就攤上這事祭陷。” “怎么了兵志?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵想罕,是天一觀的道長。 經(jīng)常有香客問我按价,道長,這世上最難降的妖魔是什么癞志? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任框产,我火速辦了婚禮,結(jié)果婚禮上盾舌,老公的妹妹穿的比我還像新娘蘸鲸。我一直安慰自己,他們只是感情好酌摇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布窑多。 她就那樣靜靜地躺著,像睡著了一般埂息。 火紅的嫁衣襯著肌膚如雪遥巴。 梳的紋絲不亂的頭發(fā)上铲掐,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天值桩,我揣著相機(jī)與錄音,去河邊找鬼奔坟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛婉支,可吹牛的內(nèi)容都是我干的澜建。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼户誓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了帝美?” 一聲冷哼從身側(cè)響起晤硕,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舰褪,沒想到半個(gè)月后疏橄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晃酒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年窄绒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛔翅。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖山析,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盖腿,我是刑警寧澤损同,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站茂卦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏等龙。R本人自食惡果不足惜伶贰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泥畅。 院中可真熱鬧,春花似錦位仁、人聲如沸方椎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至空盼,卻和暖如春胸墙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迟隅。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工励七, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掠抬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓两波,卻偏偏與公主長得像闷哆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子抱怔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容