2008年8月10日 星期日

mail server被駭

幾天前學長告知才知道mail server企圖攻擊別人的server...
然後檢查底下的log檔(主要在/var/log/secure, /var/log/messages)才知道別人利用server裡面既有的user account以及密碼進行登入, 主要原因就是密碼太過於簡單.
所以就做了底下處理
1. 允許登入SSH的帳號, 只允許一個非root的帳號登入(參考FreeBSD-安裝到SSH遠端登入)
2. 全面修改過於簡單的密碼

雖然這樣做並不是最好...不過我覺得要破就不容易了...

2008年8月2日 星期六

A performance comparison between openmp and traditional multi-thread

上學期修了一堂網路的課,其中一個作業要拿目前慢慢興起的openMP與傳統multi-thread的作法做個效能上的評比。所以就把結果拿上blog給需要的人參考...如果有任何問題,歡迎底下留言or mail to me. but請勿抄襲!!
-----------------
Requirement and Architecture:
此實驗主要針對web上的application做效能上的評比
我們在這是做個file transfer protocol(簡稱FTP)。我們實做了RFC959底下幾個指令:USERCWD(current work directory)CDUP(up folder)QUIT(exit)PORT(data port)TYPE(representation type)RETR(retrieval file)STOR(store)PWD(parent work directory)LIST(list current directory)STAT(server status) SYST(server system),並成功的測試使用FileZilla Client可以自由的連線操作。系統架構方面實作了三種模式: single-thread, multi-thread, single-thread with openMP, 三種模式的FSM參考下圖。


Testing program:
在測試方面,
為了同時模擬多人連線的狀態,我們開發了一個可以同時fork出多個Process送出定義好的ftp指令。我們在這邊所用到Client端的ftp軟體是Windows底下內建的FTP Command,Testing的FSM可以參考下圖:


Experiment:
硬體環境
Server: Intel(R) Core(TM)2 Duo CPU 1.80GHz 1GB RAM
Client: (Intel(R) Pentium(R) 4 CPU 3.00GHz 1GB RAM)*2
開發環境
Microsoft Visual Studio 2005 C++
Windows XP SP2


三個不同的應用程式作下列的實驗比較

1. 調整不同的緩衝區大小

2.調整不同的使用者個數

3.調整不同的使用者進入時間


調整不同的緩衝區大小:

在這個實驗的部份,我們主要是利用不同緩衝區的大小來測試系統的反應能力;這個實驗的目的在於如果伺服器反應時間越快,代表可以處理越小的緩衝區;相對的,伺服器的反應時間慢的話,代表只能處理大的緩衝區。在實驗參數方面,User=150process(每台測試電腦150process)delay time350ms(0.35 secs),每個process對伺服器的指令為:60次的LIST和一個8M的影像檔。從下圖的實驗可以發現,MultiOpenMP都能夠處理緩衝區為30的狀況; 但是Single只能處理緩衝區為50的情況。針對MultiOpenMP這兩種方法,我們可以發現Multi的時間花費比OpenMP的還要少;可以大概推測Multi是有一個額外的執行緒處理目前存在緩衝區的Client,但是OpenMP則要對所有存放在等待佇列的元素用多個執行緒的方式同步處理。等到處理結束時,才會處理存放在緩衝區的Client;所以Multi的處理時間會比OpenMP的少。

調整不同的使用者個數:

在這個實驗的部份,我們主要測試系統可以處理使用者的最大上限(Upper bound);一個強固性高的系統應該能夠允許最多使用者連到主機,並提供服務;所以這個實驗主要在測試哪種架構有最好的強固性。實驗參數方面,我們設定緩衝區大小(Buffersize)設為100delay time50ms(0.05 secs)每個process對伺服器的指令為:2次的LIST由底下的實驗數據可以顯示出Multi可以達到最高上限User=450的狀況下,整個processed time還能維持30秒以內;OpenMP則是對多只能處理User=400,但是processed time維持低於30秒以內;Single的方式只能處理User=150,但是整個時間需要134秒左右。

調整不同的使用者進入時間:

在這個實驗的部份,我們主要測試系統可以接受測試端多少delay time;越穩定的系統架構,所用的delay time要越低。這代表可以接受多個同時連線近來的使用者。在實驗參數方面,我們將緩衝區大小設為100User=150;每個process對伺服器的指令為:60次的LIST和一個8M的影像檔。在下圖實驗我們可以發現MultiOpenMP都可以接受每個processdelay time=200ms(0.2 secs)的效能;但是Multi所展現的成果最好,約134秒;而Single只能接受每個processdelay time=350ms(0.35 secs)的連線速度;有此可知MultiOpenMP的效能差異不大,都比Single的效能好。