數據庫查詢:
數據庫查詢對并發處理和事務處理都有很大影響;
查詢性能越好,隨并發量上升導致的性能下降的影響越??;
查詢性能越好,受其他事務排他鎖的影響越??;
總之,要解決超時、死鎖等問題,優化查詢性能,縮短事務時間(最好不用事務)是最根本辦法
(非原創,引用自網絡)用兩個例子看清楚分布式和集群的區別:
例子1:
如果一個任務由10個子任務組成,每個子任務單獨執行需1小時,則在一臺服務器上執行改任務需10小時。 采用分布式方案,提供10臺服務器,每臺服務器只負責處理一個子任務,不考慮子任務間的依賴關系,執行完這個任務只需一個小時。(這種工作模式的一個典型代表就是Hadoop的Map/Reduce分布式計算模型) 而采用集群方案,同樣提供10臺服務器,每臺服務器都能獨立處理這個任務。假設有10個任務同時到達,10個服務器將同時工作,10小后,10個任務同時完成,這樣,整身來看,還是1小時內完成一個任務!
例子2:
一堆機器堆在這兒,具備一定的相同的功能屬性,就可以叫集群 分布式的話,應該是具備分布式特性的一類系統
集群的作用:負載均衡,錯誤恢復
集群式資源整合,分布式是計算能力整合
集群=聚合,分布式=組合
減少線程切換:
幾乎所有IO操作(包括磁盤和網絡)都產生線程切換Mutex, AutoResetEvent, Sleep等方法會產生線程切換在應用服務化的時代,網絡服務接口常常被當成本地方法使用,當這樣的接口被放入循環,遞歸中時,線程切換的時間消耗往往會超過要執行的邏輯本身+網絡傳輸的開銷如何避免:所有的IO操作用異步模式(這個比較難)對會產生IO的接口使用特別小心封裝IO接口,適當引入緩存設計時提供批量和單個接口,減少IO次數……降低嵌套循環:用hash表,字典,分組等手段優化嵌套,把多層循環變成多次循環(復雜度由高次方變成一次方)防暴力破解:md5(x+MD5(y));y.length>=8新聞熱點
疑難解答