真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

性能優(yōu)化一點總結(jié)-創(chuàng)新互聯(lián)

個人管理方面

1、形成體系化的思想。

專業(yè)網(wǎng)站制作公司,專做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!成都創(chuàng)新互聯(lián)公司為您提供品質(zhì)好成都網(wǎng)站建設,五站合一網(wǎng)站設計制作,服務好的網(wǎng)站設計公司,負責任的成都網(wǎng)站制作公司!

當做一件事(開發(fā)一個系統(tǒng)、解決一個問題)的時候,可以按照一定的體系去下手,這個體系可以理解為思維意識。少了很多無從下手、從零開始的過程,從而提升效率。這一點事需要個人長久的總結(jié)和豐富的經(jīng)驗!

2、開闊自己的視野。

從不同方面去尋找自己解決問題的思路,增加自己的選擇空間,會讓你權(quán)衡更全面,分析更透徹,從而理解更深入,解決問題也更到位。做技術,不能只看技術!一個技術大牛,多少都會對歷史,對藝術有一些了解。

技術方面

1、代碼

很多技術人員拿到一個性能優(yōu)化的需求以后,都會向緩存、分庫分表、異步、多線程、JVM優(yōu)化等方向去思考。其實,很多時候應該從代碼入手。代碼優(yōu)化的點很多很多,舉幾個例子:

1、當已經(jīng)知道list大小的時候,直接指定list大小,可以有效避免list默認大小不夠,而進行復制擴容。
2、變量聲明的位置能局部不全局,可以有效避免長久占用內(nèi)存而不能被GC回收。
3、for循環(huán)里大量聲明變量,以致于消耗內(nèi)存。
等等吧

所以,要多加注意代碼層面的優(yōu)化,優(yōu)化的空間很大,很可能代碼優(yōu)化之后就能滿足性能要求,而不必增加設備來支持訪問量!

2、SQL優(yōu)化

SQL優(yōu)化,個人認為可以從五個層面入手。

*SQL語句優(yōu)化
    關鍵字的使用like、join、in、exist
*SQL索引優(yōu)化
    索引的創(chuàng)建、索引的大小設置
*SQL引擎優(yōu)化
    根據(jù)業(yè)務需求,選擇最適合的引擎
*數(shù)據(jù)庫設計優(yōu)化
    我個人認知,主要是范式的設計??梢赃m當冗余數(shù)據(jù),以減少數(shù)據(jù)庫操作。
*數(shù)據(jù)庫連接池優(yōu)化
    連接池監(jiān)控數(shù)、連接池方案的選擇(這一塊個人沒使用過)

3、緩存優(yōu)化

緩存在一個系統(tǒng)里或多或少都會涉及的。至于什么數(shù)據(jù)放入緩存,放入一個什么樣的緩存,都是值得仔細斟酌的。 使用緩存的情況,個人感覺有兩種:

短時間內(nèi)相同數(shù)據(jù)重復查詢多次且數(shù)據(jù)更新不頻繁,這個時候可以選擇先從緩存查詢,查詢不到再從數(shù)據(jù)庫加載并回設到緩存的方式。
高并發(fā)查詢熱點數(shù)據(jù),后端數(shù)據(jù)庫不堪重負。

選型考慮:

如果數(shù)據(jù)量小,并且不會頻繁地增長又清空(這會導致頻繁地垃圾回收),那么可以選擇本地緩存。具體的話,如果需要一些策略的支持(比如緩存滿的逐出策略),可以考慮Ehcache;如不需要,可以考慮HashMap;如需要考慮多線程并發(fā)的場景,可以考慮ConcurentHashMap。
目前從資源的投入度、可運維性、是否能動態(tài)擴容以及配套設施來考慮,我們優(yōu)先考慮Tair。除非目前Tair還不能支持的場合(比如分布式鎖、Hash類型的value),我們考慮用Redis。

當然,使用緩存后,會面臨很多問題,大的一個問題就是數(shù)據(jù)一致性。這些就可以根據(jù)業(yè)務需要而制定不同的方案。

4、多線程

在一個系統(tǒng)里,在一定情況下使用多線程可以加快響應時間,比如一些異步任務,啟動多線程去處理就好了,還有一些離線任務也不需要等待完成再返回等等。但是線上對響應時間要求較高的場合,盡量少用多線程,尤其是服務線程需要等待任務線程的場合(很多重大事故就是和這個息息相關),如果一定要用,可以對服務線程設置一個大等待時間。

使用多線程又帶來另一個問題,就是代碼的復雜性。所以,建議如果單機單線程能夠滿足業(yè)務需求的盡量使用單機單線程,如果滿足不了,則可以使用單機多線程,如果依然不能滿足,再考慮多機多線程。

使用多線程時,可以考慮使用線程池,線程池的優(yōu)點有兩個:

1、提高性能,節(jié)省線程創(chuàng)建和銷毀的開銷,節(jié)省資源。
2、可以利用線程池完成一些功能,比如限流。可以保障機器極限壓力下的穩(wěn)定處理能力。

5、JVM調(diào)優(yōu)

JVM是Java WEB項目的基石,可以根據(jù)項目特點進行JVM調(diào)優(yōu)。我所了解到的,只是調(diào)整一些GC回收機制和回收策略。比如新生代與老生代比值、eden與survivor比值、觸發(fā)cms回收的old區(qū)比率閾值等。比如把大對象放入老年代等等。

當然,調(diào)優(yōu)的路上很遠也很長。包括技術的選型,監(jiān)控的使用,軟件的使用甚至硬件的使用。今天簡單說這么多!

更多精彩內(nèi)容,歡迎關注微信公眾號:Java小筆記(ijavanote)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前名稱:性能優(yōu)化一點總結(jié)-創(chuàng)新互聯(lián)
鏈接URL:http://weahome.cn/article/dgpsgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部