Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: FreeBSD

FreeBSD 使用者資源限制

Posted on 2011 年 4 月 20 日2021 年 3 月 12 日 By 日落 在〈FreeBSD 使用者資源限制〉中尚無留言

之前某堂課讓大家到學校的大型主機寫程式,有些人大概想試試看大型主機到底有多強,就弄了個迴圈下去跑:

while( 1 )
   fork();

高級的 server 果然不一樣,load avarage 衝到幾百都還活著,問題是別人上機考就爆了。

FreeBSD 中有個設定檔在 /etc/login.conf 可以限制使用者 CPU、記憶體和程序的使用,印象中預設是的吧。設定檔中有少可以使用的參數:

  • coredumpsize:core dump 最大值
  • cputime:最大 CPU 時間
  • datasize:最大記憶體使用量
  • filesize:單一檔案最大體積
  • stacksize:單一程序最大可使用 stack 大小
  • maxproc:最大可執行程序量
  • memoryuse:單一程序最大記憶體使用量
  • vmemoryuse:單一程序最大虛擬記憶體使用量
  • openfiles:單一程序最大可開啟的檔案數量

詳細說明還是手冊最詳細。

13.7 使用者資源限制 – FreeBSD 使用手冊
http://www.freebsd.org/doc/zh_TW/books/handbook/users-limiting.html

Tags:FreeBSD

在 FreeBSD 中使用 ramdisk 編譯 ports

Posted on 2011 年 3 月 16 日2021 年 3 月 12 日 By 日落 在〈在 FreeBSD 中使用 ramdisk 編譯 ports〉中有 1 則留言

再次想不開在 FreeBSD 底下編譯 KDE。

希望速度能夠加快,使用 4 核心機器並加大記憶體,參考餅乾之前的文章「用 ramdisk 加速 freebsd 編譯 ports 的速度」,配了 2GB 的記憶體拿去塞 obj。

不過這次還是沒能讓 CPU 跑到 100%,感覺還是卡在 IO。

在編譯 KDE library 的時候 CPU 停頓很久,用 iostat 看到有實體硬碟的 IO (不過只有 3MB/s 左右),才想到編譯新的 lib 時會 dep 到已經安裝的 lib。另外編譯時 cc1plus 用掉了 1.7GB 的 SWAP 使整體速度又往下掉了不少。

這次 make install KDE4 比上一次快好多,扣掉等待 make config 的時間還不到一天!

Tags:FreeBSD, 生活雜記

Install Nginx + PHP-FPM on FreeBSD

Posted on 2010 年 9 月 4 日2021 年 3 月 12 日 By 日落 在〈Install Nginx + PHP-FPM on FreeBSD〉中有 1 則留言

因為老舊機器跑 Apache 實在太費力了,不少朋友都推薦 Nginx 來取代 Apache。網路上不少效能測試也顯示 Nginx 使用的系統資源比較少。

Install Nginx from ports:

cd /usr/ports/www/nginx
make config   # select modules you want
make install clean

Install php52 from ports:

 cd /usr/ports/lang/php52
make config   # Enable FPM
make install clean

安裝 PHP-FPM (Fastcgi Process Manager) 後,在 /etc/rc.conf 加入啟動設定並啟動 php-fpm:

echo php_fpm_enable="YES" >> /etc/rc.conf
/usr/local/etc/rc.d/php-fpm start

依照預設值 FPM 會 listen port 9000,可以用 sockstat 看一下是否啟動成功:

$ sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      php-cgi    2736  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2735  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2734  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2733  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2732  0  tcp4   127.0.0.1:9000        *:*
root     php-cgi    2731  4  stream -> ??
root     php-cgi    2731  5  stream -> ??
root     php-cgi    2731  6  tcp4   127.0.0.1:9000        *:*

若要修改 listen port 可以開啟 /usr/local/etc/php-fpm.conf,搜尋「listen_address」,設定檔是以 XML 的方式撰寫,把 127.0.0.1:9000 改成自己要得即可。

修改 Nginx 設定檔 /usr/local/etc/nginx/nginx.conf,大約在 60 行左右可以看到「pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000」,將該段落的設定檔取消註解。

另外 Nginx 設定檔有個很怪的地方,就是 fastcgi_param 的預設值不是在網頁目錄底下,要將後方的「/scripts」改成「/usr/local/www/nginx-dist」,這樣 Nginx 才會將網頁目錄底下的 PHP 程式交給 FPM 執行。

設定完畢存檔,/usr/local/etc/rc.d/nginx start 啟動 nginx 就可以弄個 phpinfo 來測試了。

Tags:FreeBSD, PHP, 網路架站

PHP 加速 on FreeBSD (pecl-APC)

Posted on 2010 年 8 月 3 日2021 年 3 月 12 日 By 日落 在〈PHP 加速 on FreeBSD (pecl-APC)〉中尚無留言

這次為了 WordPress 3.0 花了不少時間搞 tuning,後來 cookys 大大跟我說 eaccelerator 效果不大,可以改用 APC 加速。

Install APC on FreeBSD:

cd /usr/ports/www/pecl-APC/
make install clean

安裝好以後修改 php.ini,參數在 /usr/local/share/doc/APC/INSTALL 有詳細說明。

apc.enabled=1  ; 1 as enable, 0 as disable
apc.shm_segments=1  
apc.shm_size=128  ; Shared memory size in MB
apc.ttl=7200  ; TTL for cache
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX  ; 6 個 X 請勿修改
apc.enable_cli=1

設定完畢後重新啟動 Apache。

使用 phpinfo() 後若看到 APC 相關資訊表示 APC 已經可以使用。接著複製 apc.php 到 www 目錄下並設定帳號密碼,便可以查看 APC 的統計資訊:

cp /usr/local/share/doc/APC/apc.php /usr/local/www/apache22/data/

設定帳號密碼:

defaults('ADMIN_USERNAME','user_id');
defaults('ADMIN_PASSWORD','user_password');

左方圓餅圖代表記憶體情況,右方 Hits 代表使用到快取,Miss 表示要求的程式不在快取內。

安裝好 APC 後自己拿 JMeter 做測試,Wordpress 3.0 的首頁在安裝 APC 後大概快了 200 ~ 500ms 左右,感覺算快了不少,不過一部分原因是 JMeter 設定全部都跑去抓首頁,建議加上亂數元件讓 JMeter 隨機讀取網頁會更準。

參考資料:安裝 PHP APC 加速網頁速度 | 小惡魔
http://blog.wu-boy.com/2008/06/05/275/

Tags:FreeBSD, PHP, 網路架站

Redmine 更新

Posted on 2010 年 6 月 25 日2021 年 3 月 12 日 By 日落 在〈Redmine 更新〉中尚無留言

主機一陣子沒更新,看到 SA 通告心裡毛毛的跑了一下 portmaster -a,然後我後悔了 …. Orz

將 Rails 從 2.3.5 更新到 2.3.8,config/environment.rb 裡面的設定也要跟著改:

RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION

另外最慘的是 RMagick 更新速度似乎趕不上 ImageMagick,將 ImageMagick 更新到 6.6.1.10 後 RMagick 卻噴錯誤訊息說版本不合,gem update 好幾天都沒看到更新。

後來手殘弄錯東西只好 pkg_delete -af。從頭來過後 passenger 噴錯誤訊息,發現 Ruby 有新增不少功能,要在設定檔裡面另外多設定幾個參數:

config.action_controller.session =  { :session_path => '/path/to/webApp' }
config.action_controller.session =  { :session_key => 'key_prefix' }
config.action_controller.session =  { :key => "_myapp_session", :secret => "some phrases" }
Tags:FreeBSD, 網路架站

文章分頁

上一頁 1 2 3 ... 10 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.