iT邦幫忙

0

一般電腦,winxp與appserv架設moodle(php+mysql),要讓50人同時順利線上測驗,需提升哪些設備?

您好!!
我使用一般桌上型電腦,系統是winxp與appserv架設學習系統moodle(php+mysql),想要讓50人同時能上線順利進行線上課程(影音)與線上的測驗,需提升哪些設備(譬如:網路卡...),以利線上課程活動順利進行?

是否可以推薦一些好用的映體設備(如:網路卡..........)
還是應該要做哪些軟體上的設定與修改呢?

謝謝您

看更多先前的討論...收起先前的討論...
tom6507 iT邦大師 1 級 ‧ 2011-09-11 16:25:42 檢舉
如果我沒看錯,你沒寫錯,50個人同時上線,那需要提升的是你的作業系統,改成2003或是2008 server吧,XP同時連線數只有10個
myubuntu提到:
想要讓50人同時能上線順利進行線上課程(影音)與線上的測驗,需提升哪些設備(譬如:網路卡...),以利線上課程活動順利進行?


使用者用的是moodle的Web介面而不是直接連那部XP
所以應該是不限10個
筆記
antijava提到:
所以應該是不限10個


剛剛又Google了一下
XP(或IIS)似乎有此限制

XP+Apache似乎就不一樣了噎到
wiseguy iT邦超人 1 級 ‧ 2011-09-11 20:30:42 檢舉
XP concurrent 只能登入一位 user;

安裝在 XP 裡面的 IIS v5 只能有 10 個連線,破解後可以提高到 20 個;基本上 XP 版本裡的 IIS 只不過是供開發用的閹割版。

安裝在 XP 裡面的 apache 預設是 150 個連線,最大可到 2048。而且 2048 是編譯好的執行檔參數。若覺得不夠多,可以自己用 source code 編譯更多數量的版本。
myubuntu iT邦新手 5 級 ‧ 2011-09-12 14:53:37 檢舉
請問
1.如果使用winxp與appserv架設moodle(php+mysql),最多(上線)大約可以讓多少人同時順利線上測驗?

2.如果使用win server 2008則應該要做哪些xampp的設定與調整,才讓最大值,最多人數(大約多少人)能同時順利上線測驗?
我想到的是網路部份
一個使用者,平均1秒鐘需要給他多少頻寬,再乘以50.....
wiseguy iT邦超人 1 級 ‧ 2011-09-12 17:45:32 檢舉
如果是內網的話,頻寬不太是問題,除非 switch hub 真的太爛。
這種線上同時測驗的情況,大部份會發生問題的點是在:
1. 測驗時間一開始那時候,50 人並發連線過來的時候。這個問題要把 apache 的 StartServers 開大一點,比如就是開 50。
2. 資料庫連線數夠不夠。把 MySQL 的 max_conntctions 加大,wait_timeout 縮小到 500 左右,應該就差不多。

至於到底瓶頸能撐多少人,那要實測才知道。因為影響的因素太多,XP loading、硬體效能、記憶體容量等等。建議還是用 Linux 當 Server 比較適當。XP 撐個 50 人真的已經很了不起了。
tom6507 iT邦大師 1 級 ‧ 2011-09-13 09:27:30 檢舉
雖然用Apache可以輕鬆突破10人的限制,但是建議網卡還是要換好一點的,主機板內建或者是一般普通的網卡,很容易會被操爆掉,由其你的用途是E-learning用的

1 個回答

8
wiseguy
iT邦超人 1 級 ‧ 2011-09-11 13:18:18

要用 XP 當 server 真的是不建議。不過如果當下也沒別的選擇,那麼幾點建議:

  1. 關閉不需要的服務
  2. 關閉系統還原、防毒軟體
  3. 不要同時拿它當 Desktop 使用

appserv 中的 apache 關掉不必要的 modules,大概只要有下列 modules 即可:
core_module
mpm_worker_module
http_module
so_module
authn_default_module
authz_host_module
authz_default_module
log_config_module
expires_module
deflate_module
headers_module
setenvif_module
mime_module
dir_module
alias_module
php5_module
然後設定:

<pre class="c" name="code">KeepAlive On
MaxKeepAliveRequests 10000
<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
    DeflateCompressionLevel 9
</IfModule>
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 10 seconds"
    ExpiresByType image/gif  "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png  "access plus 1 month"
    ExpiresByType text/css   "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/xml "access plus 3 minutes"
</IfModule>

PHP 只掛你所需要的模組,並一定要加掛 eAccelerator 模組

MySQL 的 my.cnf 調整幾個設定值:

<pre class="c" name="code">max_connections = 80
wait_timeout = 1000
query_cache_size = 64M

只要撐 50 人的話,做了這些調整也綽綽有餘了,網卡大概也不必特別挑了。

我要發表回答

立即登入回答