Linux 系統(tǒng)內(nèi)核參數(shù)調(diào)優(yōu)


由于Linux的內(nèi)核參數(shù)信息都存在內(nèi)存中,因此可以通過命令直接修改谱俭,并且修改后直接生效。但是宵蛀,當(dāng)系統(tǒng)重新啟動后昆著,原來設(shè)置的參數(shù)值就會丟失,而系統(tǒng)每次啟動時都會自動去/etc/sysctl.conf文件中讀取內(nèi)核參數(shù)术陶,因此將內(nèi)核的參數(shù)配置寫入這個文件中凑懂,是一個比較好的選擇。

內(nèi)核設(shè)置

Linux 操作系統(tǒng)修改內(nèi)核參數(shù)有3種方式:

  • 修改 /etc/sysctl.conf 文件梧宫,加入配置選項(xiàng)征候,格式為 key = value 球凰,修改保存后調(diào)用 sysctl -p 加載新配置雄家。
  • 使用 sysctl 命令臨時修改跟磨,如: sysctl -w net.ipv4.tcp_mem="379008 505344 758016"汤锨。
  • 直接修改 /proc/sys/ 目錄中的文件昆婿,如: echo "379008 505344 758016" > /proc/sys/net/ipv4/tcp_mem
    第一種方式在操作系統(tǒng)重啟后會自動生效莱睁,第二和第三種方法重啟后失效惨好。
名稱 默認(rèn)值 建議值 描述
tcp_syn_retries 5 1 對于一個新建連接疚膊,內(nèi)核要發(fā)送多少個 SYN 連接請求才決定放棄。不應(yīng)該大于255历谍,默認(rèn)值是5现拒,對應(yīng)于180秒左右時間。望侈。(對于大負(fù)載而物理通信良好的網(wǎng)絡(luò)而言,這個值偏高,可修改為2.這個值僅僅是針對對外的連接,對進(jìn)來的連接,是由tcp_retries1決定的)
tcp_synack_retries 5 1 對于遠(yuǎn)端的連接請求SYN印蔬,內(nèi)核會發(fā)送SYN + ACK數(shù)據(jù)報,以確認(rèn)收到上一個 SYN連接請求包脱衙。這是所謂的三次握手( threeway handshake)機(jī)制的第二個步驟侥猬。這里決定內(nèi)核在放棄連接之前所送出的 SYN+ACK 數(shù)目。不應(yīng)該大于255捐韩,默認(rèn)值是5退唠,對應(yīng)于180秒左右時間。
tcp_keepalive_time 7200 600 TCP發(fā)送keepalive探測消息的間隔時間(秒)荤胁,用于確認(rèn)TCP連接是否有效瞧预。防止兩邊建立連接但不發(fā)送數(shù)據(jù)的攻擊。
tcp_keepalive_probes 9 3 TCP發(fā)送keepalive探測消息的間隔時間(秒)仅政,用于確認(rèn)TCP連接是否有效垢油。
tcp_keepalive_intvl 75 15 探測消息未獲得響應(yīng)時,重發(fā)該消息的間隔時間(秒)圆丹。默認(rèn)值為75秒秸苗。 (對于普通應(yīng)用來說,這個值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值,15是個比較合適的值)
tcp_retries1 3 3 放棄回應(yīng)一個TCP連接請求前﹐需要進(jìn)行多少次重試。RFC 規(guī)定最低的數(shù)值是3
tcp_retries2 15 5 在丟棄激活(已建立通訊狀況)的TCP連接之前﹐需要進(jìn)行多少次重試运褪。默認(rèn)值為15,根據(jù)RTO的值來決定玖瘸,相當(dāng)于13-30分鐘(RFC1122規(guī)定秸讹,必須大于100秒).(這個值根據(jù)目前的網(wǎng)絡(luò)設(shè)置,可以適當(dāng)?shù)馗男?我的網(wǎng)絡(luò)內(nèi)修改為了5)
tcp_orphan_retries 7 3 在近端丟棄TCP連接之前﹐要進(jìn)行多少次重試。默認(rèn)值是7個﹐相當(dāng)于 50秒 - 16分鐘﹐視 RTO 而定雅倒。如果您的系統(tǒng)是負(fù)載很大的web服務(wù)器﹐那么也許需要降低該值﹐這類 sockets 可能會耗費(fèi)大量的資源璃诀。另外參的考tcp_max_orphans。(事實(shí)上做NAT的時候,降低該值也是好處顯著的,我本人的網(wǎng)絡(luò)環(huán)境中降低該值為3)
tcp_fin_timeout 60 2 對于本端斷開的socket連接蔑匣,TCP保持在FIN-WAIT-2狀態(tài)的時間劣欢。對方可能會斷開連接或一直不結(jié)束連接或不可預(yù)料的進(jìn)程死亡。默認(rèn)值為 60 秒裁良。
tcp_max_tw_buckets 180000 36000 系統(tǒng)在同時所處理的最大 timewait sockets 數(shù)目凿将。如果超過此數(shù)的話﹐time-wait socket 會被立即砍除并且顯示警告信息。之所以要設(shè)定這個限制﹐純粹為了抵御那些簡單的 DoS 攻擊﹐不過﹐如果網(wǎng)絡(luò)條件需要比默認(rèn)值更多﹐則可以提高它(或許還要增加內(nèi)存)价脾。(事實(shí)上做NAT的時候最好可以適當(dāng)?shù)卦黾釉撝?
tcp_tw_recycle 0 1 打開快速 TIME-WAIT sockets 回收牧抵。除非得到技術(shù)專家的建議或要求﹐請不要隨意修改這個值。(做NAT的時候,建議打開它)
tcp_tw_reuse 0 1 表示是否允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接(這個對快速重啟動某些服務(wù),而啟動后提示端口已經(jīng)被使用的情形非常有幫助)
tcp_max_orphans 8192 32768 系統(tǒng)所能處理不屬于任何進(jìn)程的TCP sockets最大數(shù)量犀变。假如超過這個數(shù)量﹐那么不屬于任何進(jìn)程的連接會被立即reset妹孙,并同時顯示警告信息。之所以要設(shè)定這個限制﹐純粹為了抵御那些簡單的 DoS 攻擊﹐千萬不要依賴這個或是人為的降低這個限制获枝。如果內(nèi)存大更應(yīng)該增加這個值蠢正。(這個值Redhat AS版本中設(shè)置為32768,但是很多防火墻修改的時候,建議該值修改為2000)
tcp_abort_on_overflow 0 0 當(dāng)守護(hù)進(jìn)程太忙而不能接受新的連接,就象對方發(fā)送reset消息省店,默認(rèn)值是false嚣崭。這意味著當(dāng)溢出的原因是因?yàn)橐粋€偶然的猝發(fā),那么連接將恢復(fù)狀態(tài)萨西。只有在你確信守護(hù)進(jìn)程真的不能完成連接請求時才打開該選項(xiàng)有鹿,該選項(xiàng)會影響客戶的使用。(對待已經(jīng)滿載的sendmail,apache這類服務(wù)的時候,這個可以很快讓客戶端終止連接,可以給予服務(wù)程序處理已有連接的緩沖機(jī)會,所以很多防火墻上推薦打開它)
tcp_syncookies 0 1 只有在內(nèi)核編譯時選擇了CONFIG_SYNCOOKIES時才會發(fā)生作用谎脯。當(dāng)出現(xiàn)syn等候隊(duì)列出現(xiàn)溢出時象對方發(fā)送syncookies葱跋。目的是為了防止syn flood攻擊。
tcp_stdurg 0 0 使用 TCP urg pointer 字段中的主機(jī)請求解釋功能源梭。大部份的主機(jī)都使用老舊的 BSD解釋娱俺,因此如果您在 Linux 打開它﹐或會導(dǎo)致不能和它們正確溝通。
tcp_max_syn_backlog 1024 16384 對于那些依然還未獲得客戶端確認(rèn)的連接請求﹐需要保存在隊(duì)列中最大數(shù)目废麻。對于超過 128Mb 內(nèi)存的系統(tǒng)﹐默認(rèn)值是 1024 ﹐低于 128Mb 的則為 128荠卷。如果服務(wù)器經(jīng)常出現(xiàn)過載﹐可以嘗試增加這個數(shù)字。警告﹗假如您將此值設(shè)為大于 1024﹐最好修改include/net/tcp.h里面的TCP_SYNQ_HSIZE﹐以保持TCP_SYNQ_HSIZE*16(SYN Flood攻擊利用TCP協(xié)議散布握手的缺陷烛愧,偽造虛假源IP地址發(fā)送大量TCP-SYN半打開連接到目標(biāo)系統(tǒng)油宜,最終導(dǎo)致目標(biāo)系統(tǒng)Socket隊(duì)列資源耗盡而無法接受新的連接。為了應(yīng)付這種攻擊怜姿,現(xiàn)代Unix系統(tǒng)中普遍采用多連接隊(duì)列處理的方式來緩沖(而不是解決)這種攻擊慎冤,是用一個基本隊(duì)列處理正常的完全連接應(yīng)用(Connect()和Accept() ),是用另一個隊(duì)列單獨(dú)存放半打開連接沧卢。這種雙隊(duì)列處理方式和其他一些系統(tǒng)內(nèi)核措施(例如Syn-Cookies/Caches)聯(lián)合應(yīng)用時蚁堤,能夠比較有效的緩解小規(guī)模的SYN Flood攻擊(事實(shí)證明)
tcp_window_scaling 1 1 該文件表示設(shè)置tcp/ip會話的滑動窗口大小是否可變。參數(shù)值為布爾值但狭,為1時表示可變披诗,為0時表示不可變。tcp/ip通常使用的窗口最大可達(dá)到 65535 字節(jié)立磁,對于高速網(wǎng)絡(luò)呈队,該值可能太小,這時候如果啟用了該功能唱歧,可以使tcp/ip滑動窗口大小增大數(shù)個數(shù)量級掂咒,從而提高數(shù)據(jù)傳輸?shù)哪芰?RFC 1323)。(對普通地百M(fèi)網(wǎng)絡(luò)而言,關(guān)閉會降低開銷绍刮,所以如果不是高速網(wǎng)絡(luò)温圆,可以考慮設(shè)置為0)
tcp_timestamps 1 1 Timestamps 用在其它一些東西中﹐可以防范那些偽造的 sequence 號碼。一條1G的寬帶線路或許會重遇到帶 out-of-line數(shù)值的舊sequence 號碼(假如它是由于上次產(chǎn)生的)孩革。Timestamp 會讓它知道這是個 '舊封包'岁歉。(該文件表示是否啟用以一種比超時重發(fā)更精確的方法(RFC 1323)來啟用對 RTT 的計算;為了實(shí)現(xiàn)更好的性能應(yīng)該啟用這個選項(xiàng)膝蜈。)
tcp_sack 1 1 使用 Selective ACK﹐它可以用來查找特定的遺失的數(shù)據(jù)報--- 因此有助于快速恢復(fù)狀態(tài)锅移。該文件表示是否啟用有選擇的應(yīng)答(Selective Acknowledgment),這可以通過有選擇地應(yīng)答亂序接收到的報文來提高性能(這樣可以讓發(fā)送者只發(fā)送丟失的報文段)饱搏。(對于廣域網(wǎng)通信來說這個選項(xiàng)應(yīng)該啟用非剃,但是這會增加對 CPU 的占用。)
tcp_fack 1 1 打開FACK擁塞避免和快速重傳功能推沸。(注意备绽,當(dāng)tcp_sack設(shè)置為0的時候,這個值即使設(shè)置為1也無效)[這個是TCP連接靠譜的核心功能]
tcp_dsack 1 1 允許TCP發(fā)送"兩個完全相同"的SACK鬓催。
tcp_ecn 0 0 TCP的直接擁塞通告功能肺素。
tcp_reordering 3 6 TCP流中重排序的數(shù)據(jù)報最大數(shù)量。 (一般有看到推薦把這個數(shù)值略微調(diào)整大一些,比如5)
tcp_retrans_collapse 1 0 對于某些有bug的打印機(jī)提供針對其bug的兼容性宇驾。(一般不需要這個支持,可以關(guān)閉它)
tcp_wmem:mindefaultmax 409616384131072 8192131072 發(fā)送緩存設(shè)置min:為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存最小值倍靡。每個tcp socket都可以在建議以后都可以使用它。默認(rèn)值為4096(4K)课舍。default:為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存數(shù)量塌西,默認(rèn)情況下該值會影響其它協(xié)議使用的net.core.wmem_default 值,一般要低于net.core.wmem_default的值筝尾。默認(rèn)值為16384(16K)捡需。max: 用于TCP socket發(fā)送緩沖的內(nèi)存最大值。該值不會影響net.core.wmem_max忿等,"靜態(tài)"選擇參數(shù)SO_SNDBUF則不受該值影響。默認(rèn)值為131072(128K)崔挖。(對于服務(wù)器而言贸街,增加這個參數(shù)的值對于發(fā)送數(shù)據(jù)很有幫助,在我的網(wǎng)絡(luò)環(huán)境中,修改為了51200 131072 204800)
tcp_rmem:mindefaultmax 409687380 174760 32768 131072 16777216 接收緩存設(shè)置同tcp_wmem
tcp_mem:mindefaultmax 根據(jù)內(nèi)存計算 786432 1048576 1572864 low:當(dāng)TCP使用了低于該值的內(nèi)存頁面數(shù)時,TCP不會考慮釋放內(nèi)存狸相。即低于此值沒有內(nèi)存壓力薛匪。(理想情況下,這個值應(yīng)與指定給 tcp_wmem 的第 2 個值相匹配 - 這第 2 個值表明脓鹃,最大頁面大小乘以最大并發(fā)請求數(shù)除以頁大小 (131072 * 300 / 4096)逸尖。 )pressure:當(dāng)TCP使用了超過該值的內(nèi)存頁面數(shù)量時,TCP試圖穩(wěn)定其內(nèi)存使用,進(jìn)入pressure模式娇跟,當(dāng)內(nèi)存消耗低于low值時則退出pressure狀態(tài)岩齿。(理想情況下這個值應(yīng)該是 TCP 可以使用的總緩沖區(qū)大小的最大值 (204800 * 300 / 4096)。 )high:允許所有tcp sockets用于排隊(duì)緩沖數(shù)據(jù)報的頁面量苞俘。(如果超過這個值盹沈,TCP 連接將被拒絕,這就是為什么不要令其過于保守 (512000 * 300 / 4096) 的原因了吃谣。 在這種情況下乞封,提供的價值很大,它能處理很多連接岗憋,是所預(yù)期的 2.5 倍肃晚;或者使現(xiàn)有連接能夠傳輸 2.5 倍的數(shù)據(jù)。 我的網(wǎng)絡(luò)里為192000 300000 732000)一般情況下這些值是在系統(tǒng)啟動時根據(jù)系統(tǒng)內(nèi)存數(shù)量計算得到的仔戈。
tcp_app_win 31 31 保留max(window/2^tcp_app_win, mss)數(shù)量的窗口由于應(yīng)用緩沖关串。當(dāng)為0時表示不需要緩沖。
tcp_adv_win_scale 2 2 計算緩沖開銷bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale > 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale BOOLEAN>0)
tcp_low_latency 0 0 允許 TCP/IP 棧適應(yīng)在高吞吐量情況下低延時的情況杂穷;這個選項(xiàng)一般情形是的禁用悍缠。(但在構(gòu)建Beowulf 集群的時候,打開它很有幫助)
tcp_westwood 0 0 啟用發(fā)送者端的擁塞控制算法,它可以維護(hù)對吞吐量的評估耐量,并試圖對帶寬的整體利用情況進(jìn)行優(yōu)化飞蚓;對于 WAN 通信來說應(yīng)該啟用這個選項(xiàng)。
tcp_bic 0 0 為快速長距離網(wǎng)絡(luò)啟用 Binary Increase Congestion廊蜒;這樣可以更好地利用以 GB 速度進(jìn)行操作的鏈接趴拧;對于 WAN 通信應(yīng)該啟用這個選項(xiàng)。
ip_forward 0 NAT必須開啟IP轉(zhuǎn)發(fā)支持山叮,把該值寫1
ip_local_port_range:minmax 3276861000 1024 65000 表示用于向外連接的端口范圍著榴,默認(rèn)比較小,這個范圍同樣會間接用于NAT表規(guī)模屁倔。
ip_conntrack_max 65535 65535 系統(tǒng)支持的最大ipv4連接數(shù)脑又,默認(rèn)65536(事實(shí)上這也是理論最大值),同時這個值和你的內(nèi)存大小有關(guān)锐借,如果內(nèi)存128M问麸,這個值最大8192,1G以上內(nèi)存這個值都是默認(rèn)65536

所處目錄/proc/sys/net/ipv4/netfilter/文件需要打開防火墻才會存在

名稱 默認(rèn)值 建議值 描述
ip_conntrack_max 65536 65536 系統(tǒng)支持的最大ipv4連接數(shù)钞翔,默認(rèn)65536(事實(shí)上這也是理論最大值)严卖,同時這個值和你的內(nèi)存大小有關(guān),如果內(nèi)存128M布轿,這個值最大8192哮笆,1G以上內(nèi)存這個值都是默認(rèn)65536,這個值受/proc/sys/net/ipv4/ip_conntrack_max限制
ip_conntrack_tcp_timeout_established 432000 180 已建立的tcp連接的超時時間来颤,默認(rèn)432000,也就是5天稠肘。影響:這個值過大將導(dǎo)致一些可能已經(jīng)不用的連接常駐于內(nèi)存中福铅,占用大量鏈接資源,從而可能導(dǎo)致NAT ip_conntrack: table full的問題启具。建議:對于NAT負(fù)載相對本機(jī)的 NAT表大小很緊張的時候本讥,可能需要考慮縮小這個值,以盡早清除連接鲁冯,保證有可用的連接資源拷沸;如果不緊張,不必修改
ip_conntrack_tcp_timeout_time_wait 120 120 time_wait狀態(tài)超時時間薯演,超過該時間就清除該連接
ip_conntrack_tcp_timeout_close_wait 60 60 close_wait狀態(tài)超時時間撞芍,超過該時間就清除該連接
ip_conntrack_tcp_timeout_fin_wait 120 120 fin_wait狀態(tài)超時時間,超過該時間就清除該連接

文件所處目錄/proc/sys/net/core/

名稱 默認(rèn)值 建議值 描述
netdev_max_backlog 1024 16384 每個網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時跨扮,允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目序无,對重負(fù)載服務(wù)器而言,該值需要調(diào)高一點(diǎn)衡创。
somaxconn 128 16384 用來限制監(jiān)聽(LISTEN)隊(duì)列最大數(shù)據(jù)包的數(shù)量帝嗡,超過這個數(shù)量就會導(dǎo)致鏈接超時或者觸發(fā)重傳機(jī)制。web應(yīng)用中l(wèi)isten函數(shù)的backlog默認(rèn)會給我們內(nèi)核參數(shù)的net.core.somaxconn限制到128璃氢,而nginx定義的NGX_LISTEN_BACKLOG默認(rèn)為511哟玷,所以有必要調(diào)整這個值。對繁忙的服務(wù)器,增加該值有助于網(wǎng)絡(luò)性能
wmem_default 129024 129024 默認(rèn)的發(fā)送窗口大幸灰病(以字節(jié)為單位)
rmem_default 129024 129024 默認(rèn)的接收窗口大谐补选(以字節(jié)為單位)
rmem_max 129024 873200 最大的TCP數(shù)據(jù)接收緩沖
wmem_max 129024 873200 最大的TCP數(shù)據(jù)發(fā)送緩沖

兩種修改內(nèi)核參數(shù)方法:

  • 1、使用echo value方式直接追加到文件里如
    echo "1" >/proc/sys/net/ipv4/tcp_syn_retries
    但這種方法設(shè)備重啟后又會恢復(fù)為默認(rèn)值
  • 2椰苟、把參數(shù)添加到/etc/sysctl.conf中抑月,然后執(zhí)行sysctl -p使參數(shù)生效,永久生效

內(nèi)核生產(chǎn)環(huán)境優(yōu)化參數(shù)

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl =15

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_max_orphans = 32768

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_wmem = 8192 131072 16777216

net.ipv4.tcp_rmem = 32768 131072 16777216

net.ipv4.tcp_mem = 786432 1048576 1572864

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.ip_conntrack_max = 65536

net.ipv4.netfilter.ip_conntrack_max=65536

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舆蝴,一起剝皮案震驚了整個濱河市谦絮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洁仗,老刑警劉巖层皱,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異京痢,居然都是意外死亡奶甘,警方通過查閱死者的電腦和手機(jī)篷店,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門祭椰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臭家,“玉大人,你說我怎么就攤上這事方淤《ち蓿” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵携茂,是天一觀的道長你踩。 經(jīng)常有香客問我,道長讳苦,這世上最難降的妖魔是什么带膜? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮鸳谜,結(jié)果婚禮上膝藕,老公的妹妹穿的比我還像新娘。我一直安慰自己咐扭,他們只是感情好芭挽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蝗肪,像睡著了一般袜爪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薛闪,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天辛馆,我揣著相機(jī)與錄音,去河邊找鬼逛绵。 笑死怀各,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的术浪。 我是一名探鬼主播瓢对,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼胰苏!你這毒婦竟也來了硕蛹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤硕并,失蹤者是張志新(化名)和其女友劉穎法焰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倔毙,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡埃仪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了陕赃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵蛉。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡颁股,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出傻丝,到底是詐尸還是另有隱情甘有,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布葡缰,位于F島的核電站亏掀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏泛释。R本人自食惡果不足惜滤愕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怜校。 院中可真熱鬧该互,春花似錦、人聲如沸韭畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胰丁。三九已至随橘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锦庸,已是汗流浹背机蔗。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甘萧,地道東北人萝嘁。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像扬卷,于是被迫代替她去往敵國和親牙言。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

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