1G內(nèi)存的云服務(wù)器,如何優(yōu)化10000人訪問不卡頓

2021-02-25    分類: 云服務(wù)器

很多同學(xué)剛開始做項目買了最低配置云服務(wù)器,但有時運行軟件好幾個,服務(wù)器就趴下來,以我的經(jīng)驗可以這么搞,盡量運行必須要用的軟件,1G內(nèi)存能干什么,所以……,還可以優(yōu)化軟件本身,讓啟動時盡可能少占用內(nèi)存空間,等用戶上來再升級配置也不遲。

TOMCAT優(yōu)化

tomcat7默認內(nèi)存配置,啟動后,大約會占四百多M內(nèi)存,如果是java程序又比較大,可能會出現(xiàn)以下問題:

java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出

java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。

java.lang.StackOverflowError ---- 棧溢出

解決辦法:

linux下的tomcat:

修改tomcat/bin/catalina.sh

位置cygwin=false前。

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m"

Windows下的tomcat

在"echo "Using CATALINA_BASE: $CATALINA_BASE""上面加入以下行:

JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

下面這段大多數(shù)人都不看,留著備用吧

JVM參數(shù)說明:

-server:一定要作為第一個參數(shù),在多個CUP時性能佳

-Xms:java Heap初始化大小。默認物理內(nèi)存的1/64

-Xmx:java Heap大值。建議平均物理內(nèi)存的一般。不可超過物理內(nèi)存。

-XX:PermSize:設(shè)定內(nèi)存的永久保存區(qū)初始化大小,缺省為64M

-XX:MaxPermSize:設(shè)定內(nèi)存的永久保存區(qū)大大小,缺省委64M、

-XX:SurvivorRatio=2:生還者池的大小,默認是2,如果垃圾回收變成了瓶頸,您可以嘗試定值生成池設(shè)置

-XX:NewSize:新生成的池初始化大小,缺省為2M。

-XX:MaxNewSize:新生成的池大大小。缺省為32M。

這參數(shù)讓JVM忽略Xmx參數(shù),瘋狂地吃完一個G物理內(nèi)存,再吃盡1個G的swap。

-Xss:每個線程的Stack大小,-Xss 15120這使得JBoss沒增加一個線程就會消耗15M內(nèi)存,而好值應(yīng)該是128k,默認512k

-verbose:gc 實現(xiàn)垃圾回收信息

-Xloggc:gc.log指定垃圾收集日志文件

-Xmn:young generation的heap大小,一般設(shè)置為Xmx的3,4之一

-XX:+UseParNewGC:所短minor收集的時間

-XX:+UserConcMarkSweepGC:所短major收集的時間 次選項在Heap Size比較大而且Major收集較長的情況下使用更合適。

-XX:userParNewGC 可用來設(shè)置多個并行收集

-XX:ParallelGCThreads可用來增加并行度

-XX:UseParallelGC設(shè)置后可以使用并行清理收集器

-XX:+UseBiasedLocking非競爭性的同步選項,鎖機制的性能改善。

-XX:+DisableExplicitGC 禁止System.gc(),免得程序員誤調(diào)用gc方法影響性能。

-XX:MaxTenuringThreshold 為放置所有的復(fù)制全部發(fā)生以及希望對象從eden擴展到舊域,可以把MaxTenuring Threshold設(shè)置成0。設(shè)置完成后,實際上就不再使用救助空間了,因此應(yīng)把SurvivorRatio設(shè)成大值以大化Eden空間,設(shè)置如下:

-XX:+UseParNewGC 對年輕代采用多線程并行回收,這樣收得快。

-XX:+CMSParallelRemarkEnabled 在使用UseParNewGC 的情況下, 盡量減少 mark 的時間

-XX:LargePageSizeInBytes 指定 Java heap的分頁頁面大小

-XX:MaxTenuringThreshold 設(shè)置垃圾大年齡。

重啟生效

MySQL優(yōu)化

mysql默認啟動,會占用四百多M內(nèi)存,也可以優(yōu)化。

linux下,打開/etc/my.cnf


重啟生效

看一下兩個軟件同時運行占用內(nèi)存情況

分享標(biāo)題:1G內(nèi)存的云服務(wù)器,如何優(yōu)化10000人訪問不卡頓
本文網(wǎng)址:http://www.muchs.cn/news27/102927.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作