prism

顯示具有 GNU/Linux 標籤的文章。 顯示所有文章
顯示具有 GNU/Linux 標籤的文章。 顯示所有文章

2018-02-10

Ansible

更新,這一篇,是一段時間前寫的,居然發現,有沒發的文
現在小弟,也跳過 ansible 了,改用容器化的方案 (真不專情)

Ansible 簡單的系統部屬工具,是用 Python 撰寫的佈署工具,有點像是 puppet , chef , salt 的工具

主要原理,就是透過 ssh 的方式,算是非常單純簡單的方式,比起 puppet 或是 chef 來說


這一篇,我想筆記的是對 Google Cloud Engine 上面 VM 的佈署,安裝就用 python 的 pip 就可以了,因為對 GCE 的支援,是透過 libcloud 的套件做的
所以,你除了要安裝 ansible 外,也是裝 libcloud ,用 pip 的話,安裝像是這樣,看你的系統需不要加 sudo ,因為,我是在 Mac 上面,整個 /usr/local
都是我在用,所以我不用加,實際依自己的系統情形




pip install ansible apache-libcloud



設定 gce.ini
gce.ini https://github.com/ansible/ansible/blob/devel/plugins/inventory/gce.ini
gce.py https://github.com/ansible/ansible/blob/devel/plugins/inventory/gce.py



export GCE_INI_PATH=/pathto/gce.ini
export ANSIBLE_HOSTS=/pathto/gce.py 






請先手動建立,一個 VM ,我沒仔細深究,為什麼一定要有一台 VM

ansible all -m ping

這時候,應該要可以看到,你已經有的 GCE VM

ansible-playbook -v gce.yml



參考文章

https://doitintl.zendesk.com/hc/en-us/articles/202342715-How-to-install-Ansible

http://www.codedata.com.tw/social-coding/ansible-github/

2015-07-09

How I deploy my golang binary

在網路上,有很多 Docker 的佈署的文章,或是用來測試的方式

用 golang 撰寫的服務,編譯成執行檔後,你可以有很多的選擇,例如:upstart , supervisord , 或是 daemontools

這一次,我想用 Docker ,想要他的彈性

但是,不管用 Ubuntu , Debian 或是官方的 Golang 的 image

總覺得 image 太大,不合用,直接由 scratch 做 image 又覺得,萬一有一些系統的相依套件,需要的時候,不方便

所以這是我目前的萬用 image 的 Dockerfile


FROM alpine:3.2
RUN apk --update add curl
WORKDIR /usr/src/app
ENTRYPOINT  ["/usr/src/app/goapp"]

實際的編譯執行檔,分資料夾放,名字都叫做 goapp,執行 container 的時候,用 -v 掛載進 container 的 /usr/src/app
golang 的程式記得可以用環境變數,更改一些執行的變數,像是,資料庫連結,等等,只要執行 container 時,用 -e 帶給 container

以後上新版的執行檔,就只要下 docker restart your_running_container 而已


image 裡安裝的 curl ,只是要順便把 ssl certificates 安裝,這樣就有 root certificates

這樣的 images 大小大約 8.7 MB ,夠小,也很快

2015-05-08

Prepare your Linux USB bootable on Mac

在 Mac 上面要準備你的 GNU/Linux USB 安裝拇指碟

沒有像上 Linux 上面這麼的方便,畢竟這就是華麗的代價



基本步驟,這裡指的是 Debian 的安裝 ISO 檔案為例

1) 下載 ISO http://cdimage.debian.org/debian-cd/8.0.0/amd64/iso-cd/debian-8.0.0-amd64-netinst.iso


2) 轉檔 hdiutil convert -format UDTO -o debian.img debian-8.0.0-amd64-netinst.iso

3) 找到你 USB SD 卡的磁碟名稱 diskutil list

4) 我的例子是 /dev/disk3

5) diskutil umountDisk /dev/disk3 卸載

5) 切割 USB 碟,格式化, diskutil partitionDisk /dev/disk3 1 "Free Space" "unused" "100%"

6) sudo dd if=debian.img.cdr of=/dev/disk3 bs=1m

恭喜,這樣可以做完收工了,可以有 Linux USB 安裝拇指碟


參考資料
http://blog.tinned-software.net/create-bootable-usb-stick-from-iso-in-mac-os-x/

http://unix.stackexchange.com/questions/114984/how-to-create-a-bootable-linux-installation-usb-from-an-iso-in-os-x

2015-05-02

DD WRT Client Bridge

想要連接,兩間房子的網路,失敗及成功方法

目的希望可以用無線的方式,分出網路到同一棟大樓,不同樓層,兩個陽台,目視可見,不用再重新申請網路

失敗經驗


目前的硬體,主要的 Router AP ,原廠韌體,接 HINET 家用光纖,放九樓陽台
RT-N18U




另一台放在不同樓層的無線 AP,刷 DD WRT 韌體,放四樓陽台
TP-LINK TL-WR1043ND V1




N18U
標準 AP 設定方式,另外固定無線頻道,我固定頻道 6,設定 WDS 可以連線的 AP mac address
Address 192.168.1.1 netmask 255.255.255.0
DHCP server on
DHCP 分配 IP 範圍 192.168.1.100 ~ 192.168.1.254
WPA2/Personal AES

WR1043ND

把 WAN disable
IP 位置設定 192.168.1.2
DHCP server off
Wireless mode 選 Client Bridged
SSID 及密碼和 N18U 相同

重新開機後,電腦,接 WR1043ND 的網路線,是可以上網,但是大約幾分鐘後,網路就會斷,用 telnet 連到
WR1043ND 的機器,去連線,也是一段時間後就會斷,可以由用網路線接 WR1043ND 的上網的電腦,重新取得 ip 連線,又可以回復

實際把上網電腦,設成固定 IP 及路由,也是無法連線,試著,在 WR1043ND 上面設定靜態路由,也沒辦法,

可能是我的網路概念,還不夠清楚,所以就放棄了,尤其覺得一開始都是可以連線,大約幾分鐘後,斷線後,一定要重新 DHCP 得到 IP
才能恢復連線,感到不穩定


最後成功方法解法很簡單,反過來

Hinet 接 WR1043ND 當成主要的無線 Router,反過來,N18U 開成無線中繼模式,這時用 N18U LAN 接著上網電腦,就可以連線了
速度,比一半,在少一點,不過堪用了

原來,原廠的韌體,簡單好用,少花一些時間,會在直接買一台,同牌的支援應該更沒問題

接了,賣家送的 8db 天線,真的有差別,訊號的強度,好很多,帶來的就是連線速度的穩定性

以上,簡單的經驗分享

2015-04-27

2012-11-08

Chrome cache in RAM




在 Linux 上面已經有當多簡單的教學,不過大多是教修改設定檔的方式,以下是更簡單的方式

以 Debian GNOME3 的環境為例

應用程式-->主選單-->網際網路 ,在 Debian "主選單" 的程式名字是 alacarte

選 chrome 後,右邊有屬性的條件可以修改,把指令欄位修改成下面,就可以啦,只要 --disk-cache-dir 的 option 即可


/opt/google/chrome/google-chrome --disk-cache-dir="/tmp/chrome/" %U

2012-07-19

ZFS on Linux

愛用 Solaris 的同事,一直跟我說,就是因為 ZFS 所以他才愛 Solaris

看一下在 Linux 上面也有 porting ,只是我沒用過,不知道穩不穩定

紀錄一下,有時間來試一下

http://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/

https://github.com/zfsonlinux

http://zfsonlinux.org/

2012-01-05

screen

改一下 ~/.bashrc


GITPS1='$(__git_ps1 " (%s)")'

case "$TERM" in
xterm*|rxvt*)

    PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]${GITPS1}\$ "
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
screen*)
    PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]${GITPS1}\$ "
    PATHTITLE='\[\ek\W\e\\\]'
    # Use program name as title
    PROGRAMTITLE='\[\ek\e\\\]'
    PS1="${PROGRAMTITLE}${PATHTITLE}${PS1}"
    ;;
*)
    ;;
esac


小抄一下別人的 ~/.screenrc

# Caption line
#caption always "%{= R}[ %{=b b}%-w%{=rb db}%>%n %t%{-}%+w%{-b}%< %=%{R}][%{M} %Y-%m-%d %{G}%c%{R}]"
caption always "%{=b k}%{b y} %m-%d %c / %{k}%L=%-w%7>%{g}%n %t%{-}%+w%-014< %-016=%{c} %l "


# Set default encoding using utf8
defutf8 on

# Refresh the display when exiting programs
altscreen on

# Dynamic title
shelltitle '$ |bash'

# Set xterm's title
hardstatus string "screen: %t"

# C-a b --(switch to)--> view big5 data
bind b encoding big5 utf8
# C-a u --(switch to)--> view utf8 data
bind u encoding utf8 utf8


參考

http://adam8157.info/blog/2010/05/terminal-bash-screen/

http://archerworks.blogspot.com/2010/05/linuxscreenbindkey.html

這樣,顏色,還有訊息都豐富了,不會逛到哪一台主機 git 到哪一個 branch 都分不出來

2011-09-30

Debian 下的中文輸入

桌機用 Debian testing 好些年了,一直都沒有什麼問題,最近一些 GTK3 , gnome-terminal 3.0.1 的更新, scim 掛了,一直都是把頭放到沙裡的方式面對他,把 gnome-terminal 綁在 2.30 ,今天想說來試試看,有沒有其他的輸入法,可以在 GTK3 下面用,還真的沒有好用的中文輸入法耶,ibus 不太會用,搞不懂,為什麼我新開一個 tab 他就自動切成中文輸入模式,scim 只能在舊的 gnome-terminal 裡用,gcin 看不太出來有維護的樣子,真要深深地吸一口氣,都已經 2011 年了,怎麼這麼基礎的東西,在 Linux 上面還是這樣,看來,這種吃力不討好的東西,又沒有實質商業利益的東西,都沒有人要碰,感嘆壓

2011-04-14

Install Dropbox on Debian



小筆記安裝 ubuntu 的 Dropbox 安裝包,到 Debian testing 上面

照往例,一定不是很乾淨的作法,我才寫筆記



到 Dropbox 下載 Linux 64(OR 32) 下面的安裝包

http://www.dropbox.com/downloading?src=index

下面就是指令筆記,因為 Ubuntu 和 Debain 這一個相依關係名稱不同

假設我們下載的名稱是 nautilus-dropbox_0.6.7_amd64.deb


以此為範例,安裝要有 root 權限

dpkg-deb -x nautilus-dropbox_0.6.7_amd64.deb tempdir # 解開到 tempdir

dpkg-deb --control nautilus-dropbox_0.6.7_amd64.deb tempdir/DEBIAN # control 放到 tempdir/DEBIAN 下面

vim tempdir/DEBIAN/control # 編輯 control 檔,將安裝的時候抱怨的 libnautilus-extension1 (>= 1:2.22.2) 改成 libnautilus-extension1 (>= 2.22.2)

dpkg-deb -b tempdir nautilus-dropbox_0.6.7-terry_amd64.deb # 重新包一包,取一個名字

dpkg -i nautilus-dropbox_0.6.7-terry_amd64.deb # 安裝自己包的那一包,就可以了



接下來,看看,自己的應用程式選單裡,應該就有 Dropbox 了

2010-09-10

rtl8192se new driver

http://www.realtek.com/


感謝螃蟹公司,還是有繼續把 Linux 的支援改好一點,希望這一版,可以提昇這一個晶片組在 Linux 下的穩定性,可以讓這一隻螃蟹活跳跳,在不同的 AP 下可以表現一致一點,不過這一版的沒有 Linux 的更新

http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true


ps: 很瞎的是,這一次的更新沒有 Linux 的驅動程式

2010-09-07

舊版 ubuntu 裝 daemontools



舊版的 ubuntu 裝 daemontools 會有的問題,原本一直參考的網頁爛了,自己作一下筆記


sudo apt-get install daemontools daemontools-run


建立這一個檔案,讓他可以開機執行
/etc/event.d/svscanboot ,檔案內容


start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /usr/bin/svscanboot


執行一下

sudo initctl start svscanboot


其他在 /etc/service/ 下的設定,照舊即可

這是一個,簡單的 hudson 的 run file

#!/usr/bin/env bash
cd /home/hudson
su -s /bin/sh hudson -c "exec envuidgid hudson java -jar /home/hudson/hudson.war"



ps: 當然,很多時候,會用 Debian,用舊版的 ubuntu 當然也是因為在團隊工作的環境,不是你要用那一版就用那一版,沒有原因,沒有為什麼,大頭會決定

2010-08-04

暫時性的 flashplayer on Deban AMD64

有鑑於,現在很多的遊戲,還是要用 flash 玩,還有 HTML5 看 youtube 還是很慢,iceweasel 還不行,要 Google Chrome, 所以 HTML5 各個瀏覽器的支援沒有到位, web flash 遊戲也沒有比較好的解決方案,所以只好繼續用 flash

可以參考 Debian WIKI page

http://wiki.debian.org/FlashPlayer#DebianTesting.27Squeeze.27amd64

If you're on Debian testing

apt-get install fakeroot binutils nspluginwrapper ia32-libs ia32-libs-libidn11 ia32-libs-libssh2 ia32-libs-libcurl3 ia32-libs-libnspr4 ia32-libs-libnss3


download http://people.debian.org/~bartm/flashplugin-nonfree/flashplugin-nonfree_10.1.53.64.1_amd64.deb


dpkg -i flashplugin-nonfree_10.1.53.64.1_amd64.deb


restart iceweasel, or Google Chrome, you should be able have flashplayer under your browser ;-)

Off course, Thanks a lot to bartm for prebuild package

2010-08-03

2010-08-01

window manager openbox

跟大家使用得來比,算是一種很冷門的的 window manager
如果要取代 gnome 預設的

terry@terry:~$ cat .gnomerc

export WINDOW_MANAGER=openbox

terry@terry:~$



預設的 keybind 不夠的話,可以自訂


http://openbox.org/wiki/Help:Bindings

例如視窗最大,還有最小
用 vim 編輯,這一個檔案
terry@terry:~$ vim ~/.config/openbox/rc.xml
的 xml 標籤裡加入


<keybind key="A-F9">
<action name="Iconify">
</action>
</keybind>
<keybind key="A-F10">
<action name="MaximizeFull">
</action>
</keybind>


2010-07-30

我愛自由我用 Linux



轉載連結 我被 Microsoft 恐嚇了!


真開心,已經用 Linux 好多年了,多年前,遇見了 Bruce ,一頭帶我栽進 FreeBSD 的世界,遇見, John 和 Ted 後, 開始使用 Linux,時間真快,1999 到現在,用了 快十年了

想起來,真感恩,這麼多世界一流的開發人員,奉獻心力,現在剩下,下單的系統,還是接國內卷商,換得機會不大,沒像國外的專業,提供開放的交易介面,有一天,我一定要全換掉

不需一天到晚跟著,換電腦升級,還真的蠻無聊的,就像,現在對很多人來說,應該都沒有理由,不繼續用 XP,就算 Win 7 好,難道 XP 不好嗎?

唯一要用的理由,就是這一間公司,沒有新產品就賺不了錢啦

附上一張桌面吧!程式開發,也都是在這上面


2010-07-26

2HOST network broken

連續兩天,2HOST 的網路都有問題,這是一直以來,讓我覺的他們的服務唯一不穩定的因素,所以,把 DigEZ 搬到 ThrustVPS 西岸 LA 的機房,一開始,我不是很喜歡 ThrustVPS,大概是他們有限制 vcpu core ,所以入門的 VPS 的 CPU 表現都不好,不過,如果 CPU 一直都不是吃很重,倒也不失是一個很好的選擇

ThrustVPS優點


西岸機房,網路穩定,延遲低,抓學速網路檔案,大約 10M,比(兩)光世代還快

新機器,硬碟讀寫快,有 raid 10

服務效率高, kernel 版本較新

便宜,找不到西岸機房,更便宜的了(不然都找到德國去了)

ThrustVPS缺點


CPU 資源受限,效能較差,redis-benchmark 很明顯,效能不彰

PS: 已經兩天了,我的 2HOST 還是連不到,好險頻寬大,有備份,搬家迅速
更新,2HOST 有回應了,說是把網路卡換了,可以連了,先看看穩定的情形再說吧

2010-07-16

PhotonVPS TEST

2010-07-16 09:00 bought 2010-07-16 22:10 開通 開始測試 Disk read www:/tmp# hdparm -tT /dev/sda1 /dev/sda1: Timing cached reads: 9942 MB in 1.99 seconds = 4995.05 MB/sec Timing buffered disk reads: 574 MB in 3.01 seconds = 190.87 MB/sec Network www:/tmp# wget http://cachefly.cachefly.net/100mb.test --2010-07-16 15:34:38-- http://cachefly.cachefly.net/100mb.test Resolving cachefly.cachefly.net... 205.234.175.175 Connecting to cachefly.cachefly.net|205.234.175.175|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `100mb.test' 100%[===========================================================================================================================>] 104,857,600 10.8M/s in 9.3s 2010-07-16 15:34:47 (10.8 MB/s) - `100mb.test' saved [104857600/104857600] www:/tmp# wget http://ftp.tw.debian.org/debian-cd/5.0.5/amd64/iso-dvd/debian-505-amd64-DVD-1.iso --2010-07-16 15:28:30-- http://ftp.tw.debian.org/debian-cd/5.0.5/amd64/iso-dvd/debian-505-amd64-DVD-1.iso Resolving ftp.tw.debian.org... 140.112.8.139 Connecting to ftp.tw.debian.org|140.112.8.139|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 4692975616 (4.4G) [application/x-iso9660-image] Saving to: `debian-505-amd64-DVD-1.iso' 4% [====> ] 213,035,198 1.41M/s eta 55m 2s tracerout from my home desktop (hinet) to my PhotonVPS host ip terry@debian:~$ traceroute 173.224.209.230 traceroute to 173.224.209.230 (173.224.209.230), 30 hops max, 60 byte packets 1 192.168.1.1 (192.168.1.1) 0.733 ms 0.978 ms 2.219 ms 2 h254.s98.ts.hinet.net (168.95.98.254) 15.678 ms 16.318 ms 17.691 ms 3 TPE4-3301.hinet.net (168.95.100.194) 17.343 ms 17.712 ms 17.797 ms 4 TPE4-3202.hinet.net (220.128.5.174) 18.059 ms tp-e4-t64-1.router.hinet.net (220.128.5.22) 18.962 ms 18.977 ms 5 TPDT-3011.hinet.net (220.128.1.110) 20.465 ms TPDT-3012.hinet.net (220.128.2.110) 19.320 ms TPDT-3011.hinet.net (220.128.3.22) 20.590 ms 6 r4003-s2.tp.hinet.net (220.128.4.253) 20.605 ms 13.820 ms 220-128-7-185.HINET-IP.hinet.net (220.128.7.185) 13.698 ms 7 220-128-7-213.HINET-IP.hinet.net (220.128.7.213) 17.782 ms 18.024 ms r4001-s2.tp.hinet.net (220.128.3.78) 18.190 ms 8 r01-pa.us.hinet.net (211.72.108.225) 156.362 ms r01-pa.us.hinet.net (211.72.108.201) 159.590 ms 160.744 ms 9 r11-la.us.hinet.net (202.39.83.229) 152.592 ms 152.346 ms 171.680 ms 10 unknown.xeex.net (216.151.129.113) 154.102 ms 154.006 ms 172.863 ms 11 xeex.cr1.sjc1.psychz.net (216.151.129.30) 174.068 ms 175.926 ms 175.922 ms 12 unassigned.psychz.net (173.224.209.230) 168.095 ms 148.604 ms 168.852 ms unixbench 5.1.2 ======================================================================== BYTE UNIX Benchmarks (Version 5.1.2) System: www.xxx.com: GNU/Linux OS: GNU/Linux -- 2.6.18-164.11.1.el5xen -- #1 SMP Wed Jan 20 08:06:04 EST 2010 Machine: x86_64 (unknown) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 1: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 2: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 3: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 4: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 5: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 6: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET CPU 7: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5674.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET 15:36:37 up 1:30, 3 users, load average: 0.01, 0.03, 0.00; runlevel 3 ------------------------------------------------------------------------ Benchmark Run: Fri Jul 16 2010 15:36:38 - 16:04:53 8 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 16353920.9 lps (10.0 s, 7 samples) Double-Precision Whetstone 2657.2 MWIPS (10.0 s, 7 samples) Execl Throughput 1151.6 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 221910.1 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 59516.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 660809.0 KBps (30.0 s, 2 samples) Pipe Throughput 337014.0 lps (10.0 s, 7 samples) Pipe-based Context Switching 75988.5 lps (10.0 s, 7 samples) Process Creation 3247.1 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 3297.7 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1219.1 lpm (60.0 s, 2 samples) System Call Overhead 381956.6 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 16353920.9 1401.4 Double-Precision Whetstone 55.0 2657.2 483.1 Execl Throughput 43.0 1151.6 267.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 221910.1 560.4 File Copy 256 bufsize 500 maxblocks 1655.0 59516.0 359.6 File Copy 4096 bufsize 8000 maxblocks 5800.0 660809.0 1139.3 Pipe Throughput 12440.0 337014.0 270.9 Pipe-based Context Switching 4000.0 75988.5 190.0 Process Creation 126.0 3247.1 257.7 Shell Scripts (1 concurrent) 42.4 3297.7 777.8 Shell Scripts (8 concurrent) 6.0 1219.1 2031.9 System Call Overhead 15000.0 381956.6 254.6 ======== System Benchmarks Index Score 496.1 ------------------------------------------------------------------------ Benchmark Run: Fri Jul 16 2010 16:04:53 - 16:33:40 8 CPUs in system; running 8 parallel copies of tests Dhrystone 2 using register variables 96059277.7 lps (10.1 s, 7 samples) Double-Precision Whetstone 19860.3 MWIPS (9.8 s, 7 samples) Execl Throughput 7234.4 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 140202.9 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 37087.2 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 495818.2 KBps (30.0 s, 2 samples) Pipe Throughput 2074287.5 lps (10.1 s, 7 samples) Pipe-based Context Switching 547893.3 lps (10.1 s, 7 samples) Process Creation 17365.7 lps (30.1 s, 2 samples) Shell Scripts (1 concurrent) 13264.6 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 2103.4 lpm (60.1 s, 2 samples) System Call Overhead 2104375.0 lps (10.1 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 96059277.7 8231.3 Double-Precision Whetstone 55.0 19860.3 3611.0 Execl Throughput 43.0 7234.4 1682.4 File Copy 1024 bufsize 2000 maxblocks 3960.0 140202.9 354.0 File Copy 256 bufsize 500 maxblocks 1655.0 37087.2 224.1 File Copy 4096 bufsize 8000 maxblocks 5800.0 495818.2 854.9 Pipe Throughput 12440.0 2074287.5 1667.4 Pipe-based Context Switching 4000.0 547893.3 1369.7 Process Creation 126.0 17365.7 1378.2 Shell Scripts (1 concurrent) 42.4 13264.6 3128.4 Shell Scripts (8 concurrent) 6.0 2103.4 3505.6 System Call Overhead 15000.0 2104375.0 1402.9 ======== System Benchmarks Index Score 1529.8 www:~/redis-2.0.0-rc2# ./redis-benchmark ====== PING ====== 10000 requests completed in 0.57 seconds 50 parallel clients 3 bytes payload keep alive: 1 27.80% <= 2 milliseconds 98.20% <= 3 milliseconds 99.50% <= 4 milliseconds 99.86% <= 5 milliseconds 100.00% <= 6 milliseconds 17574.69 requests per second ====== PING (multi bulk) ====== 10001 requests completed in 0.43 seconds 50 parallel clients 3 bytes payload keep alive: 1 0.03% <= 0 milliseconds 32.41% <= 1 milliseconds 56.89% <= 2 milliseconds 98.53% <= 3 milliseconds 99.97% <= 4 milliseconds 100.00% <= 5 milliseconds 23150.46 requests per second ====== SET ====== 10021 requests completed in 0.28 seconds 50 parallel clients 3 bytes payload keep alive: 1 0.58% <= 0 milliseconds 69.34% <= 1 milliseconds 95.58% <= 2 milliseconds 99.98% <= 3 milliseconds 100.00% <= 4 milliseconds 36307.97 requests per second ====== GET ====== 10015 requests completed in 0.26 seconds 50 parallel clients 3 bytes payload keep alive: 1 0.97% <= 0 milliseconds 76.25% <= 1 milliseconds 96.81% <= 2 milliseconds 100.00% <= 3 milliseconds 38968.87 requests per second

deployment with daemontools

daemontools 最早由 D. J. Bernstein 開發,真是好東西,這麼早就做出來了,這麼久了,還是這麼好用


Pylons deployment with daemontools

Deploying a Django Site using FastCGI