1G内存的云服务器,如何优化10000人访问不卡顿

2021-02-25    分类: 云服务器

很多同学刚开始做项目买了最低配置云服务器,但有时运行软件好几个,服务器就趴下来,以我的经验可以这么搞,尽量运行必须要用的软件,1G内存能干什么,所以……,还可以优化软件本身,让启动时尽可能少占用内存空间,等用户上来再升级配置也不迟。

TOMCAT优化

tomcat7默认内存配置,启动后,大约会占四百多M内存,如果是java程序又比较大,可能会出现以下问题:

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

下面这段大多数人都不看,留着备用吧

JVM参数说明:

-server:一定要作为第一个参数,在多个CUP时性能佳

-Xms:java Heap初始化大小。默认物理内存的1/64

-Xmx:java Heap大值。建议平均物理内存的一般。不可超过物理内存。

-XX:PermSize:设定内存的永久保存区初始化大小,缺省为64M

-XX:MaxPermSize:设定内存的永久保存区大大小,缺省委64M、

-XX:SurvivorRatio=2:生还者池的大小,默认是2,如果垃圾回收变成了瓶颈,您可以尝试定值生成池设置

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

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

这参数让JVM忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽1个G的swap。

-Xss:每个线程的Stack大小,-Xss 15120这使得JBoss没增加一个线程就会消耗15M内存,而好值应该是128k,默认512k

-verbose:gc 实现垃圾回收信息

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

-Xmn:young generation的heap大小,一般设置为Xmx的3,4之一

-XX:+UseParNewGC:所短minor收集的时间

-XX:+UserConcMarkSweepGC:所短major收集的时间 次选项在Heap Size比较大而且Major收集较长的情况下使用更合适。

-XX:userParNewGC 可用来设置多个并行收集

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

-XX:UseParallelGC设置后可以使用并行清理收集器

-XX:+UseBiasedLocking非竞争性的同步选项,锁机制的性能改善。

-XX:+DisableExplicitGC 禁止System.gc(),免得程序员误调用gc方法影响性能。

-XX:MaxTenuringThreshold 为放置所有的复制全部发生以及希望对象从eden扩展到旧域,可以把MaxTenuring Threshold设置成0。设置完成后,实际上就不再使用救助空间了,因此应把SurvivorRatio设成大值以大化Eden空间,设置如下:

-XX:+UseParNewGC 对年轻代采用多线程并行回收,这样收得快。

-XX:+CMSParallelRemarkEnabled 在使用UseParNewGC 的情况下, 尽量减少 mark 的时间

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

-XX:MaxTenuringThreshold 设置垃圾大年龄。

重启生效

MySQL优化

mysql默认启动,会占用四百多M内存,也可以优化。

linux下,打开/etc/my.cnf


重启生效

看一下两个软件同时运行占用内存情况

本文名称:1G内存的云服务器,如何优化10000人访问不卡顿
文章URL:/news/102927.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设