導航:首頁 > 編程系統 > linux開發論壇

linux開發論壇

發布時間:2023-09-03 23:27:59

⑴ 您好,我的論壇linux nginx伺服器 速度有些慢,請問有優化方法嗎

一、編譯安裝過程優化

1.減小Nginx編譯後的文件大小
在編譯Nginx時,默認以debug模式進行,而在debug模式下會插入很多跟蹤和ASSERT之類的信息,編譯完成後,一個Nginx要有好幾兆字
節。在編譯前取消Nginx的debug模式,編譯完成後Nginx只有幾百千位元組,因此可以在編譯之前,修改相關源碼,取消debug模式,具體方法如
下:
在Nginx源碼文件被解壓後,找到源碼目錄下的auto/cc/gcc文件,在其中找到如下幾行:
# debug CFLAGS=」$CFLAGS -g」

注釋掉或刪掉這兩行,即可取消debug模式。

2.為特定的CPU指定CPU類型編譯優化
在編譯Nginx時,默認的GCC編譯參數是「-O」,要優化GCC編譯,可以使用以下兩個參數:
--with-cc-opt='-O3'
--with-cpu-opt=CPU #為特定的 CPU 編譯,有效的值包括:pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
要確定CPU類型,可以通過如下命令:
[root@localhost home]#cat /proc/cpuinfo | grep "model name"

二、利用TCMalloc優化Nginx的性能
TCMalloc的全稱為Thread-Caching
Malloc,是谷歌開發的開源工具「google-perftools」中的一個成員。與標準的glibc庫的malloc相比,TCMalloc庫在
內存分配效率和速度上要高很多,這在很大程度上提高了伺服器在高並發情況下的性能,從而降低系統負載。下面簡單介紹如何為Nginx添加TCMalloc
庫支持。
要安裝TCMalloc庫,需要安裝libunwind(32位操作系統不需要安裝)和google-perftools兩個軟體包,libunwind
庫為基於64位CPU和操作系統的程序提供了基本函數調用鏈和函數調用寄存器功能。下面介紹利用TCMalloc優化Nginx的具體操作過程:

1.安裝libunwind庫
可以從http://download.savannah.gnu.org/releases/libunwind下載相應的libunwind版本,這里下載的是libunwind-0.99-alpha.tar.gz,安裝過程如下:

[root@localhost home]#tar zxvf libunwind-0.99-alpha.tar.gz [root@localhost home]# cd libunwind-0.99-alpha/ [root@localhost libunwind-0.99-alpha]#CFLAGS=-fPIC ./configure [root@localhost libunwind-0.99-alpha]#make CFLAGS=-fPIC [root@localhost libunwind-0.99-alpha]#make CFLAGS=-fPIC install

2.安裝google-perftools
可以從http://google-perftools.googlecode.com下載相應的google-perftools版本,這里下載的是google-perftools-1.8.tar.gz,安裝過程如下:

[root@localhost home]#tar zxvf google-perftools-1.8.tar.gz [root@localhost home]#cd google-perftools-1.8/ [root@localhost google-perftools-1.8]# ./configure [root@localhost google-perftools-1.8]#make && make install [root@localhost google-perftools-1.8]#echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf [root@localhost google-perftools-1.8]# ldconfig

至此,google-perftools安裝完成。

3.重新編譯Nginx
為了使Nginx支持google-perftools,需要在安裝過程中添加「–with-google_perftools_mole」選項重新編譯Nginx,安裝代碼如下:

[[email protected]]#./configure \ >--with-google_perftools_mole --with-http_stub_status_mole --prefix=/opt/nginx [root@localhost nginx-0.7.65]#make [root@localhost nginx-0.7.65]#make install

到這里Nginx安裝完成。

4.為google-perftools添加線程目錄
創建一個線程目錄,這里將文件放在/tmp/tcmalloc下,操作如下:

[root@localhost home]#mkdir /tmp/tcmalloc [root@localhost home]#chmod 0777 /tmp/tcmalloc

5.修改Nginx主配置文件
修改nginx.conf文件,在pid這行的下面添加如下代碼:

#pid logs/nginx.pid; google_perftools_profiles /tmp/tcmalloc;

接著,重啟Nginx,完成google-perftools的載入。

6.驗證運行狀態
為了驗證google-perftools已經正常載入,通過如下命令查看:

[root@ localhost home]# lsof -n | grep tcmalloc nginx 2395 nobody 9w REG 8,8 0 1599440 /tmp/tcmalloc.2395 nginx 2396 nobody 11w REG 8,8 0 1599443 /tmp/tcmalloc.2396 nginx 2397 nobody 13w REG 8,8 0 1599441 /tmp/tcmalloc.2397 nginx 2398 nobody 15w REG 8,8 0 1599442 /tmp/tcmalloc.2398

由於在Nginx配置文件中,設置worker_processes的值為4,因此開啟了4個Nginx線程,每個線程會有一行記錄。每個線程文件後面的數字值就是啟動的Nginx的PID值。
至此,利用TCMalloc優化Nginx的操作完成。

三、Nginx內核參數優化
內核參數的優化,主要是在Linux系統中針對Nginx應用而進行的系統內核參數優化,常見的優化參數值如下。
下面給出一個優化實例以供參考:
net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_syncookies = 1 net.core.somaxconn = 262144 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_keepalive_time = 30
將上面的內核參數值加入/etc/sysctl.conf文件中,然後執行如下命令使之生效:
[root@ localhost home]#/sbin/sysctl -p
下面是對實例中選項的含義進行介紹:
 net.ipv4.tcp_max_tw_buckets參數用來設定timewait的數量,默認是180000,這里設為6000。
 net.ipv4.ip_local_port_range選項用來設定允許系統打開的埠范圍。
 net.ipv4.tcp_tw_recycle選項用於設置啟用timewait快速回收。
 net.ipv4.tcp_tw_reuse選項用於設置開啟重用,允許將TIME-WAIT sockets重新用於新的TCP連接。
 net.ipv4.tcp_syncookies選項用於設置開啟SYN Cookies,當出現SYN等待隊列溢出時,啟用cookies進行處理。
 net.core.somaxconn選項默認值是128, 這個參數用於調節系統同時發起的tcp連接數,在高並發的請求中,默認的值可能會導致鏈接超時或者重傳,因此,需要結合並發請求數來調節此值。
 net.core.netdev_max_backlog選項表示當每個網路介面接收數據包的速率比內核處理這些包的速率快時,允許發送到隊列的數據包的最大數目。
 net.ipv4.tcp_max_orphans選項用於設定系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這個數
字,孤立連接將立即被復位並列印出警告信息。這個限制只是為了防止簡單的DoS攻擊。不能過分依靠這個限制甚至人為減小這個值,更多的情況是增加這個值。
 net.ipv4.tcp_max_syn_backlog選項用於記錄那些尚未收到客戶端確認信息的連接請求的最大值。對於有128MB內存的系統而言,此參數的默認值是1024,對小內存的系統則是128。
 net.ipv4.tcp_synack_retries參數的值決定了內核放棄連接之前發送SYN+ACK包的數量。
 net.ipv4.tcp_syn_retries選項表示在內核放棄建立連接之前發送SYN包的數量。
 net.ipv4.tcp_fin_timeout選項決定了套接字保持在FIN-WAIT-2狀態的時間。默認值是60秒。正確設置這個值非常重要,有時候即使一個負載很小的Web伺服器,也會出現因為大量的死套接字而產生內存溢出的風險。
 net.ipv4.tcp_keepalive_time選項表示當keepalive啟用的時候,TCP發送keepalive消息的頻度。默認值是2(單位是小時)。

⑵ 請告訴幾個比較著名的國內LINUX學習網站或者論壇

紅聯Linux論壇http://www.linux110.com/bbs/forumdisplay.php?fid=3
Linux入門來級教源程專題-eNet網路學院http://www.enet.com.cn/eschool/zhuanti/linux/
北京中科紅旗軟體技術有限公司http://www.redflag-linux.com/

⑶ 基於linux的嵌入式底層驅動開發應該怎樣系統的學習注意哪些方面

1、國內抄的書內容都差不多,相互抄來抄去。
國外的書質量雖然高,但是一般人閱讀速度吃不消。
不過,還是建議讀國外的書(如果有時間的話),長痛不如短痛。

2、不一定非要有開發板,可以用skyeye等軟體模擬。
但是,軟體模擬和實體機肯定是有區別的。還是建議選一塊開發板。
3、ARM板是個硬體,可以用來學習WinCE、Vxworks、Linux、uCos等等系統開發。
可以用來學習以上系統的驅動和應用開發。
Linux驅動分兩塊內容:學習硬體工作流程(單片機程序),
Linux驅動上層結構
(platform、mtd、字元設備、塊設備、網路設備、各種匯流排 等上層結構)

4.前景大大滴好,但是道路十分之曲折。
要有心裡准備,得有文火久煨的毅力。

⑷ linux,unix是那家公司開發的

linux是社區開發的,不屬於任何公司及個人 建議你去這個網站看下紅聯Linux論壇製作的普及Linux書籍 書名:Linux菜鳥過關 Linux教程下載

什麼是Linux

相信了解一些IT知識的人都聽過Linux這個名詞。

Linux操作系統(Linux),是一種計算機操作系統。Linux操作系統的內核的名字也是「Linux」。Linux操作系統也是自由軟體和開放源代碼發展中最著名的例子。

Linux內核最初是為英特爾386微處理器設計的。現在Linux內核支持從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬體設備。

在開始的時候,Linux只是個人狂熱愛好的一種產物。但是現在,Linux已經成為了一種受到廣泛關注和支持的一種操作系統。包括IBM和惠普在內的一些計算機業巨頭也開始支持Linux。很多人認為,和其他的商用Unix系統以及微軟 Windows相比,作為自由軟體的Linux具有低成本,安全性高,更加可信賴的優勢。

Linux內核最初只是由芬蘭人林納斯•托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。最初的設想中,Linux是一種類似Minix這樣的一種操作系統。Linux的第一個版本在1991年9月被發布在Internet上,隨後在10月份第二個版本就發布了。

Linux的歷史是和GNU緊密聯系在一起的。從1983年開始的GNU計劃致力於開發一個自由並且完整的類Unix操作系統,包括軟體開發工具和各種應用程序。到1991年Linux內核發布的時候,GNU已經幾乎完成了除了系統內核之外的各種必備軟體的開發。在Linus Torvalds和其他開發人員的努力下,GNU組件可以運行於Linux內核之上。整個內核是基於GNU通用公共許可,也就是GPL(General Pubic License)的,但是Linux內核並不是GNU 計劃的一部分。

Linux的標志和吉祥物是一隻名字叫做Tux的企鵝,Linux的注冊商標是Linus Torvalds所有的。這是由於在1996年,一個名字叫做William R. Della Croce的律師開始向各個Linux發布商發信,聲明他擁有Linux商標的所有權,並且要求各個發布商支付版稅,這些發行商集體進行上訴,要求將該注冊商標重新分配給Linus Torvalds。

Linux的某些版本是不需要安裝就能使用的版本,他們稱為LiveCD。
紅聯Linux論壇製作的普及Linux書籍 書名:Linux菜鳥過關 Linux教程下載

申請Ubuntu光碟說明

Ubuntu 是一個完全基於 Linux 的操作系統,它不但免費,而且有專業人員和業余愛好者共同為其提供技術支持。目前它在世界上包括中國在內都有龐大的用戶群。

申請Ubuntu光碟圖解說明下載:ftp://FTP_hllinux:[email protected]/fc/squbuntulinux.zip

無法下載請這邊下載:http://www.linuxdiyf.com/bbs/thread-53625-1-1.html

下面是語言表達。

下面我們開始申請了:

登陸 Ubuntu 官方光碟申請網站 https://shipit.ubuntu.com/ 。

雖然是英文的,但是我想大家應該都能看懂滴,因為那兩個大大的單詞「download」和「request」不會有人不知道什麼意思。還有最上面那句話「Ubuntu is available free of charge and we can send you CDs of the latest version (7.04) with no extra cost」-------光碟免費的,看到了吧?呵呵

看到首頁上的兩個醒目的鏈接了吧?一個說「I want to download Ubuntu 7.04 (Feisty Fawn)」,就是下載7.04的鏡像包了。另一個說「I want to request Ubuntu 7.04 (Feisty Fawn)」,就是申請免費光碟了。

我們今天的主題是申請免費光碟,不涉及下載鏡像包安裝的問題(因為用光碟安裝總比用包安裝方便,再說留著光碟在手裡也不是什麼壞事,對裝win+linux雙系統的朋友來說,以後重裝windows時再也不怕它不講理的把你的 grub 引導菜單給kill掉了 )。就不管那麼多了下面我們點擊「I want to request Ubuntu 7.04 (Feisty Fawn)」開始申請免費光碟。

它讓我們輸入 Ubuntu 的通行證帳號登陸。Ubuntu的帳號是用你自己的E-mai地址注冊的。如果已經注冊過那就可以直接登陸了,如果沒有的話我們現場注冊一個帳號。呵呵。

點擊鏈接「create a new account」

在 E-mail address:框中輸入你要注冊的 E-mail 地址,點「Register」。

此時一封激活信已經發到了你的郵箱里,打開你的郵箱激活你的帳號吧。激活信的「發件人」為「Launchpad」 ,「主題」為「Finish your Launchpad registration」。

把激活信里的激活鏈接復制到瀏覽器中打開。

上面的東東填寫完後,點擊「Continue」繼續。

這時候我們再次點擊「I want to request Ubuntu 7.04 (Feisty Fawn)」,又來到登陸畫面,輸入我們剛才注冊的 E-mail 帳號和密碼,點擊「Log in」。

請的光碟類型有64位PC的和普通PC的,一次最多可以申請3張盤。不過去年一次最多可以申請10張的哦(包括5張普通PC的,3張64位PC的和兩張用於 MAC 機的),不知道現在為什麼沒有 MAC 的了。呵呵。

最後重點說一下地址的寫法,因為英文的地址和中文的地址寫法是不一樣的,所以一定要注意這點,如果用英文填寫的話,一定要按照英文地址的格式填寫。

不過英文不好填寫的話,用拼音寫地址也可以的。呵呵。因為國內的郵局裡面初中畢業的MM也不是沒有。

用拼音寫的話,就可以直接按照中國的地址寫法寫了,×××省×××市×××縣×××鎮等等。還有用拼音寫的地址也不用擔心 Ubuntu 的人看不懂,他們會照樣子寫到你的郵包上的,放心吧,你會收到的。

最後說一下大家關心的時間問題,Ubuntu官方的說法是最多10周就能收到(這是針對全世界的)。其實也要不了那麼久,如果是省會以及其它的大城市,最多一兩個星期就收到了,小一點的地方可能要稍微久一點。

光碟是直接從荷蘭郵寄過來的,郵資是 5 歐元,荷蘭人幫掏的,放心拉。呵呵。

⑸ 中國有哪些專業的linux網站

您安裝一個現成的Linux,一邊研究一邊上網學,最好。
系統自帶的Linux網頁可以引導你找到你要的學習世界。

閱讀全文

與linux開發論壇相關的資料

熱點內容
計算機網路技術與應用視頻 瀏覽:924
linux裝apache 瀏覽:272
手機谷歌打不開網站怎麼辦 瀏覽:110
燈控台編程好了怎麼使用 瀏覽:342
如何用金山毒霸切斷網路連接 瀏覽:873
怎麼設置文件打開密碼怎麼設置 瀏覽:5
網路小說用什麼寫 瀏覽:956
擴展名為rm的文件如何打開 瀏覽:707
導入android項目沒有rjava 瀏覽:899
帶英文和數字的文件名 瀏覽:843
黃山數控編程培訓在哪裡 瀏覽:111
win10俠盜5無限讀取 瀏覽:557
js工廠模式 瀏覽:927
iphone6s清理緩存 瀏覽:465
ug編程怎麼選不上字體 瀏覽:435
pc文件加密哪個好 瀏覽:393
蘋果軟體更新4位密碼 瀏覽:96
手機如何將文件弄成文件夾 瀏覽:275
swordigo第四關 瀏覽:996
t420win10網卡驅動 瀏覽:805

友情鏈接