Tag Archives: Linux

常見的Linux暴炸原因

今天看大家在搶COSCUP報名,報名頁面一如往年掛掉了,以我自己的經驗看來這樣等級的流量樣打掛Nginx應該還有很大的距離,我自己處理過Now.in在運行中遇過無數各種奇奇怪怪的問題,所以很多常見的Linux暴炸原因都見怪不怪了,對於上千等級連線的伺服器這些是很常遇到的事,如果沒有弄好的話很容易就整個Linux卡住或炸掉,以下介紹一些我所知道Linux會被塞暴的主要原因,都是參數沒設好為主 最大檔案數沒設好 我想這是最多常犯的錯,當然我也犯過,linux預設每個user可以開1024個檔案,嚴格來說是file descriptor,當然socket也算在內,如果這個數字沒有調的話,就算你的Nginx或是什麼鬼伺服器再怎麼威猛,1024這麼少的數字,稍微大一點的流量,都一樣是被塞暴的下場,因為執行伺服器的使用者開不出新的檔案、socket來,而這個問題最常遇到是因為一般情況下你的網站連線數量要達1024不是每天都會發生的,可能發生一下子就沒了,等到哪天真正大流量來時才會發現整個網站暴炸了,但是1024個以上的同時連線數對於目前的now.in伺服器來說隨時都在發生的,所以如果我有哪台伺服器忘記設,很快的就會炸掉 至於要怎樣提高檔案數限制,請參考 Linux Increase The Maximum Number Of Open Files / File Descriptors (FD) ip_conntrack已滿,丟失封包 另一個常見被塞暴的是ip_conntrack,是iptables用來追蹤連線用的表,如果滿起來的話,新進來的封包會被丟掉,你可以在/var/log/message裡看見 Jul 15 19:22:30 hostname kernel: ip_conntrack: table full, dropping packet 這樣的訊息,可以透過修改最大值來解決,參考Linux Iptables ip_conntrack: table full, dropping packet error and solution 或是重開iptables service也可以洗掉目前的table … Continue reading

Posted in Linux, 中文文章 | Tagged , , , , | 3 Comments

[筆記] 手動編譯MySQL

Download mysql source tar xvf mysql.tar yum -y install cmake Compile Follow guide here: http://forge.mysql.com/wiki/CMake mkdir bld cd bld cmake .. make sudo make install Set permissions of linux user and group Follow guide here http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html groupadd mysql useradd -r -g mysql … Continue reading

Posted in 筆記 | Tagged , , , | Comments Off on [筆記] 手動編譯MySQL

A tool for applying iptables safely: apply_firewall.

Have you ever done something stupid with iptables command which like blocking you self from accessing the SSH?  Yes, I have.  Most of administrator knows that is dangerous to change iptable rules remotely, with a little typo, you might have … Continue reading

Posted in English Articles, Linux, Python | Tagged , , , , | 1 Comment

製作Linux USB live開機隨身碟

天殺的OS作業: 製作Linux USB live開機隨身碟這個作業,是要將Linux的Kernel塞到USB裡面Live開機,因為實在太麻煩了,我不得不記錄步驟,否則連我自己都會忘記

Posted in Linux, 中文文章, 分享 | Tagged , , | 4 Comments