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

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

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

TOMCAT優(yōu)化

tomcat7默認(rèn)內(nèi)存配置,啟動(dòng)后,大約會(huì)占四百多M內(nèi)存,如果是java程序又比較大,可能會(huì)出現(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:一定要作為第一個(gè)參數(shù),在多個(gè)CUP時(shí)性能佳

-Xms:java Heap初始化大小。默認(rèn)物理內(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:生還者池的大小,默認(rèn)是2,如果垃圾回收變成了瓶頸,您可以嘗試定值生成池設(shè)置

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

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

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

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

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

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

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

-XX:+UseParNewGC:所短minor收集的時(shí)間

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

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

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

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

-XX:+UseBiasedLocking非競爭性的同步選項(xiàng),鎖機(jī)制的性能改善。

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

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

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

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

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

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

重啟生效

MySQL優(yōu)化

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

linux下,打開/etc/my.cnf


重啟生效

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

本文名稱:1G內(nèi)存的云服務(wù)器,如何優(yōu)化10000人訪問不卡頓
文章URL:http://www.muchs.cn/news/102927.html

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

廣告

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

手機(jī)網(wǎng)站建設(shè)