當你的網站慢了的時後,你第一時間會想什麼?
1.伺服器出問題?(IIS掛了?mem爆了?網域解析又出錯了? )
2.這支程式誰寫的?(又是xxx,快把他抓來罵)
3.大概是人太多了
4.大概是資料太多了
5.....
諸如此類的想法
如果這時候好死不死給上頭的知道了,一聲怒下,你就得開始狂查原因,翻遍所有程式,看遍所有server的設定,或狂打電話給中華電信,結果仍百思不得其解,最後上網GOOGLE,找到了許許多多網站調校的方法和建議,這當中往往都是叫你改程式,不然就再安裝新軟體,結果成本就又冒出一堆來了,只好冒死晉見老闆說要改程式(買軟體),然後被老闆白眼一頓後才核準,最後當你如願以償之後,卻發現上頭的還是跟你說一聲"喂!XXX怎麼還是那麼慢?",你可能會哭死
在你花時間改程式,加設備,搬資料,調整javascript,JPG,...,各種延遲載入,修改各介面的Response方式....諸如此類耗時費神的動作前,花個5~20分鐘重新看一下最根本的東西吧
資料庫
基本上我要講的對很多人而言是廢話,但卻又是最容易讓人遺忘的基本,資料庫是讓人塞資料用的,要塞資料一定會佔空間啊,所以你當時在建資料庫時給它多少空間?快滿時的成長空間又是多少?想想你從系統剛上線時到現在的大小差了多少?由此你就會知道你的資料存在硬碟裡到底有多散了...,越散當然越慢啊。
再來你的log檔(ldf)和資料庫檔(mdf)是不是放在同一個實體硬碟?如果是,把管資料庫的抓來痛揍一頓吧。
有無使用檔案群組(file group)功能?如果沒有,趕快用吧;如果有...麻煩看一下用到哪去了?你確定真的有正確使用?
多久沒重建你的索引了?
多久沒"完整"備份你的資料庫了?
最基本的基本...你用什麼東西當你的索引?都是varchar?甚至前面多個n? or table時不時有一堆null?別以為有些人建議varchar和char執行速度沒啥差別,null和非null也可省好多空間...當你增刪修改個N次後,你就又會知道你的資料到底又有多散了...
SQL的服務沒用到的裝了一堆?如MSSQL的Reporting Service之類的有真正用到再裝吧。
還有偶偶錄一下Profiler餵給Database Engine Tuning Advisor看看有啥要改善的吧
等到這些最基本的確定沒問題了,再去思考那些複雜的問題吧,因為資料破碎這種事,就跟燒開水一樣,你不燒它,你就沒水喝,你不燒它,你就沒電用(因為從那個放風箏被電到的人發現電以來,我們發電的方式依舊是燒開水),你不去注意破碎,你永遠被罵。
噓:回資料太多的都是廢話...除非你的DB每個都不知道多少個G...而且又同在一個instance
分享複雜的問題的參考資料:
DB:
網站效能分析操作心法-第8回-從資料庫來調校
網站效能分析操作心法-第9回-從資料庫來調校
OTHER:
快速揪出網站效能不佳的罪魁禍首
2012年4月5日 星期四
2011年12月8日 星期四
HTML5 - (Canvas 小黑人走路)
2011年11月25日 星期五
令人懷念的MUD -- [AJAX GAME]自製簡易網頁的對戰小遊戲
https://sites.google.com/site/siggblog/sample/ajax-you-xi1
會想要寫這個,無非是想用AJAX作什麼,其實網頁遊戲現在多的跟什麼一樣,只是都是用FLASH來做...,目前先試試用AJAX純網頁能做到啥程度,接下來和HTML5結合,看能玩出啥花樣?
但是有很大的問題,就是敝人沒什麼設計天份,也畫不出好看的圖~所以整體介面醜死了...
(進入遊戲後請先點素質)
這是我為了瞭解AJAX運作寫的,純網頁無FLASH,應該算即時的猜拳制的對戰,線上隨機找其他活人對戰(不過因為沒人玩,所以我加上電腦)。
會想要寫這個,無非是想用AJAX作什麼,其實網頁遊戲現在多的跟什麼一樣,只是都是用FLASH來做...,目前先試試用AJAX純網頁能做到啥程度,接下來和HTML5結合,看能玩出啥花樣?
但是有很大的問題,就是敝人沒什麼設計天份,也畫不出好看的圖~所以整體介面醜死了...
如果玩過後有什麼意見給我參考或反應(不能玩、沒反應、不平衡、畫面太亂、不會動、網路慢之類的),我會感激不盡的,但是如果要我畫上萌圖當角色之類的,我可能沒辦法~
因為只是一個畫面而已,所以沒有啥故事主題之類的,因此我也沒有替這個小遊戲命名。
在IE、firefox、Chrome測試都沒問題,其它版本未知,但是請勿用IE6...
基本上我想要知道我這種設計是否很吃頻寬,所以如果我網路被撐爆,我可能會關掉這個遊戲...
最後,如果你有意願賞光稍微玩一下的,在這裡說聲謝謝~
以下是說明和注意事項,懶得看的可以跳過
註冊
1.先點擊[註冊]建立帳號,註冊的帳號和暱稱無法與他人重復。
2.帳號最多12位,暱稱最多20個字,Email請盡量輸入能用的。
3.註冊成功後會發送註冊成功的Email(沒收到信也沒關係),密碼無法變更和查詢。
遊戲方式
1.遊戲是以線上找玩家直接對戰的方式
2.進入畫面後,左側可查看資訊,[遊戲資訊]可查看線上人數(約每1分鐘更新一次)。
3.點選[尋找對手]可以開始搜尋並等待其它按下[尋找對手]的玩家(若要停止則再按一次)。
4.當互相找到玩家後,[準備完成]會亮起,決定好你的[對戰指令],及看HP夠不夠後,就可以按下。
5.進攻方式目前分4種:重擊(AK)、刺擊(SK)、防禦(DF)、反擊(BK) (如果你有更好的名詞歡迎告知...)
在戰鬥進行中可以任意變更,來改變戰術,
基本上攻防互剋情況為:
1.AK>SK>BK>AK
2.AK和SK打DF時,SK較有利
3.DF狀態下受到攻擊後,會進行蓄力狀態,當改進行攻擊時傷害會些許提高,最多可蓄10回合(會逐漸消退)。
4.雙方都DF或BK時,無傷害,DF也不會蓄積。
6.戰鬥大約每兩秒為一回合,進行到一方或雙方HP歸零為止,就算中途關閉瀏覽器也是會打到底。
7.每次參加戰鬥,最少都會有1的EXP,EXP計算以對手等級計算,當比對手等級高時,每多1級少一些的EXP,勝方可獲得全部EXP,敗方則只有1/3,但無論如何,一定有1EXP
8.戰鬥結束後,或未開打前,都可以恢復你的HP值,恢復HP需已EXP作為代價,每100HP要1EXP,但10級以內不用,11~30需求減半,若EXP為0則都不用,不會掉級請放心。
人物狀態
1.人物狀態在畫面左方[人物資訊]裡可查看,當升級時HP,STR,DEF,AGI,DEX會亮起讓玩家提升素質,若點下去就不可返回,請注意。
2.人物狀態分為:
LV:人物等級,最高99
HP:血量,每次升級+10滴HP,升級也可用點數提升,每1點+10HP
STR:力量,直接影響傷害,另外每1點+5HP
DEF:防禦,降低對手的傷害
AGI:迴避率(最多80%),及有機率產生額外傷害(最多33%,若在SK時發生,則會再稍微高一些)
DEX:命中率,提高命中能力,以及些微提升最小/最大傷害值,
EXP:經驗值
升級點數:1級時有20點供選擇,每次升級有5點
其它事項
1.發呆大約5分鐘沒作任何動作的話,會被強制登出,此時做任何動作會回到登入畫面。
2.承上,由於沒有寫登出~若已登入卻把整個瀏覽器關掉再開的話,可能要等5分鐘才能再登入
3."理論上"一種瀏覽器只能登入一個帳號,而且已登入的角色不能重復在其它地方再登入
4.升級時HP會補滿,但增加HP時不會恢復HP
5.現階段理論上24HR都能進入遊戲,如果無法登入...大概是被操爆了。
6.增加線上聊天,不過仍有點問題
我自己的暱稱: 希格
訂閱:
文章 (Atom)