首页 \ 问答 \ Ruby on Rails 是什么?

Ruby on Rails 是什么?

Ruby on Rails 是什么?
更新时间:2022-07-19 10:07

最满意答案

Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。
一.Tomcat内存优化
Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。
JAVA_OPTS参数说明
-server  启用jdk 的 server 版;
-Xms    java虚拟机初始化时的最小内存;
-Xmx   java虚拟机可使用的最大内存;
-XX:PermSize    内存永久保留区域
-XX:MaxPermSize   内存最大永久保留区域
服务器参数配置
现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:
JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'
配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:
首先查看Tomcat 进程号:
sudo lsof -i:9027
我们可以看到Tomcat 进程号是 12222 。
查看是否配置生效:
sudo jmap  – heap 12222
我们可以看到MaxHeapSize 等参数已经生效。、
二.Tomcat并发优化
1.Tomcat连接相关参数
在Tomcat 配置文件 server.xml 中的 

  配置中
1>参数说明
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100
enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
connectionTimeout:
 网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为30000 毫秒。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大
 并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux 是 1000 个左右。
2>Tomcat中的配置示例

 
  
2.调整连接器connector的并发处理能力
1>参数说明
maxThreads  客户请求最大线程数
minSpareThreads    Tomcat初始化时创建的 socket 线程数
maxSpareThreads   Tomcat连接器的最大空闲 socket 线程数
enableLookups      若设为true, 则支持
  域名解析,可把 ip 
  地址解析主机名
redirectPort        在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
acceptAccount       监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads  )
connectionTimeout   连接超时
minProcessors         服务器创建时的最小处理线程数
maxProcessors        服务器同时最大处理线程数
URIEncoding    URL统一编码
2>Tomcat中的配置示例

  
   
3.Tomcat缓存优化
1>参数说明
c ompression 打开压缩功能
compressionMinSize   启用压缩的输出内容大小,这里面默认为2KB
compressableMimeType 压缩类型
connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
2>Tomcat中的配置示例

   
    
4.参考配置
1>旧有的配置
参考网络对服务器做过如下配置,拿出来分享下:

    
     
后来发现在访问量达到3 百万多的时候出现
     性能瓶颈。
2>更改后的配置

     
    
   
  
 

其他回答

classpath(例如)   .;c:\program files\java\jdk1.6.0_02\lib;(这是你的jdk 目录下的lib, )      java_home (例如)  c:\program files\java\jdk1.6.0_02 (以上是你的jdk安装目录)  修改path变量  c:\program files\java\jdk1.6.0_02\bin; (之前的就是你要添加的jdk的bin目录 之后的东西你不用管这是系统的配置或者其他软件的配置)%systemroot%\system32;%systemroot%;%systemroot%\system32\wbem;c:\program files\microsoft sql server\90\tools\binn\;c:\program files\common files\thunder network\kankan\codecs

相关问答

更多
  • tomcat 性能已经不错了,要提升性能,建议先从应用入手,常规步骤有: 1:采用 nginx或 apache代理静态资源请求 2:优化数据库设计,优化 sql 3:做好缓存 4:数据库服务器与web 服务器独立,静态资源独立出来,如图片文件 5:web服务器集群
  • Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。 JAVA_OPTS参数说明 -server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留 ...
  • Apr插件提高Tomcat性能 Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等 等),本地进程管理(共享内存,NT管道和UNIX sockets)。这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好地和其 ...
  • 1、内存使用调整(Out of Memery问题) Tomcat 默认可以使用的内存为 128MB ,在较大型的应用项目中,这点内存是不够的,需要调大。    Windows 下,在文件 {tomcat_home}/bin/catalina.bat , Unix 下,在文件 {tomcat_home}/bin/catalina.sh 的前面,增加如下设置:    JAVA_OPTS='-Xms 【初始化内存大小】 -Xmx 【可以使用的最大内存】 '   需要把这个两个参数值调大。例如: rem ----- ...
  • 你创建的是web项目,你要去掉对web.xml的监听???你还想干吗
  • WEB服务器优化 1、 更换tomcat5为tomcat6 版本copy测试服务版本即可 2、 加大tomcat内存 修改bin下的catalina.sh文件,增加青绿色部分 JAVA_OPTS='-Xms768m -Xmx1648m -XX:MaxPermSize=512m' 3、 加大tomcat连接数 修改conf下的server.xml文件,修改青绿色部分参数值 maxThreads="500" minSpareThreads="100" enableLookups="false" connecti ...
  • Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。 JAVA_OPTS参数说明 -server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留 ...
  • 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。 JAVA_OPTS参数说明 -server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域 服务器参数配置 现公司服务器内存一般都可以加到最大2G ,所以 ...
  • 以下内容,以tomcat-8.0.14和jdk1.8.0_20为基准,服务器为ubuntu。 “java -Xmx3550m -Xms3550m -Xmn2g -Xss128k ”是可以直接命令行设置JVM参数吗?是一次性的而重启后失效吗? 这样可以设置jvm的参数;是一次性的。 设置系统环境变量JAVA_OPTS="-Xms256m -Xmx512m"就是永久性的没错吧。 这个得看你是具体怎么设置,以及tomcat是怎么启动的。若你的环境变量是针对个人用户设置的,而tomcat是在服务器启动时,默认启动的 ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)