讀取文字檔vs讀取MySQL 誰耗資源? - Linux

Jessica avatar
By Jessica
at 2011-07-17T15:34

Table of Contents

※ 引述《JoJoJuan (冒險野狼‧喬恩)》之銘言:
: 我想寫一個簡易計數器
: 流量應該不會大
: 一小時可能就50~100次
: 想法1:將次數寫進count.txt的文字檔
: 想法2:將次數寫進MySQL
: 請問這兩種方式
: 哪一種比較吃系統資源?
: 會不會被有心人用大量同時連線
: ex:10000個web client進來
: 吃光系統資源?
本來想推文回掉,不過想一想我話比較多,還是直接回文好了
這兩個方法,可能要稍微考慮一下當兩個人同時 req 近來的時候,
方法一是會開同一個檔案,所以 open 的時候要 with lock flag,
如果你的 web 只有單單一台 server,開 local file with lock flag
我想應該夠

不過如果你有多台 web server,也就是說,request 打進來可能會打到
server1 或者 server2,使用 local file 的解法也許就不太 work,使
用 nfs mount 或者另外的方式我覺得倒不如真的就直接連 mysql,mysql
對於 lock 或者 transaction 的處理 support 都算蠻夠的

所以這時候回到,哪一個比較吃資源?如果我不作 benchmark,照我的感
覺直接回答的話,我會回答兩個其實差不多,C/P 值並沒有高到值得作壓
力測試,這問題以每小時有 50~100 次的量來說,並不重要

10000 個 web client 近來?如果你用 ab 這個 util 去戳,看是否能達
到每秒 10K 以上的量,可以的話我想應該算夠了... ddos 的問題我這邊
就跳過不說了,可以 google 看看,有一些現成的套件可以設定使用,雖
然我覺得有些東西看起來似乎檔不了

--
Tags: Linux

All Comments

Candice avatar
By Candice
at 2011-07-21T13:36
如果文字檔是寫在tmpfs的話呢 :p
Sandy avatar
By Sandy
at 2011-07-24T12:25
寫在tmpfs也一樣是local阿,這個量沒有大到非這個不可:)
Yuri avatar
By Yuri
at 2011-07-29T06:58
再來寫在ram裡面,跳電就GG了....

讀取文字檔vs讀取MySQL 誰耗資源?

Poppy avatar
By Poppy
at 2011-07-17T14:53
我想寫一個簡易計數器 流量應該不會大 一小時可能就50~100次 想法1:將次數寫進count.txt的文字檔 想法2:將次數寫進MySQL 請問這兩種方式 哪一種比較吃系統資源? 會不會被有心人用大量同時連線 ex:10000個web client進來 吃光系統資源? - ...

linux mint的kd桌面

Ina avatar
By Ina
at 2011-07-17T09:40
※ 引述《itsasemen (這是殺洨)》之銘言: : 標題: [問題] linux mint的kd桌面 : 時間: Fri Jul 15 19:56:00 2011 : : 推 alishas:包管理目前還是pacman,不過未來會換成Akabei。 07/16 22:04 : → ...

pcmanfm的垃圾桶問題

Odelette avatar
By Odelette
at 2011-07-17T09:24
※ 引述《pshadow1 (pshadow)》之銘言: : 現在使用pcmanfm 0.9.9,但是有個奇怪的問題 : 點垃圾桶裡面永遠是空的。 : 在家目錄下.local/share/Trash/files 應該是垃圾桶的位置,裡面確實有東西而且 : 刪除的檔案會正確移到此處,但垃圾桶沒正確連到此。 : ...

cpu

Hardy avatar
By Hardy
at 2011-07-17T08:35
my computer is ten years ago. cpu :amd3.0 sigle core ram :1g why the cpu% is so high when i use in linux, but not in windows something like that, whe ...

請問在家用VMware玩CentOS可以取得IPV6 嗎?

Yuri avatar
By Yuri
at 2011-07-17T02:13
在家裡用網路是中華電信,我用VM玩CentOS 已經啟動/etc/sysconfig/network和/etc/sysconfig/network-scripts/ifcfg-eth0 兩項中設定檔NETWORKING_IPV6=yes和IPV6INIT=yes 但是用ifconfig查了一下 eth0上只 ...