找回密码
 注册成为天翎用户
查看: 2232|回复: 14

[已解决] (求助)多用户使用时的系统配置

[复制链接]
辽宁信诚移动 发表于 2015-5-12 13:18:57 | 显示全部楼层 |阅读模式
本帖最后由 karrman 于 2015-5-29 16:46 编辑

最近想组织大量用户测试系统,如果测试人数在500人或更多,问下系统配置是否要做相应修改?
其中:
apache的maxThreads大小目前是300 ,mysql的连接池大小目前是145。
另求问:
系统的最大使用人数有限制吗?
QQ:41579457
 楼主| 辽宁信诚移动 发表于 2015-6-1 11:15:32 | 显示全部楼层
mark一下:
1、mysql的StartMySQL.bat
      @echo max_connections=200 >>my.ini
      修改为:
      @echo max_connections=500 >>my.ini
2、业务库与系统库
      业务库修改为450,系统库仍为50
3、tomcat修改
    “\myApps\bin\apache-tomcat-6.0.37\conf\server.xml”中,修改为:
      maxThreads="500"
4、jdk设置
    修改为:
set JAVA_OPTS=-Xms4096m -Xmx65536m -XXermSize=512M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC
回复 1 0

使用道具 举报

karrman 发表于 2015-5-12 13:49:04 | 显示全部楼层
需要改一下proxool中的配置文件中,最后的部分,参数改大点
jdbc-0.proxool.maximum-connection-count=50
jdbc-0.proxool.minimum-connection-count=10
jdbc-0.proxool.prototype-count=4
jdbc-0.proxool.house-keeping-test-SQL=SELECTCURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d
jdbc-0.proxool.statistics-log-level=DEBUG
jdbc-0.proxool.house-keeping-sleep-time=30000
jdbc-0.proxool.maximum-connection-lifetime=1800000
jdbc-0.proxool.simultaneous-build-throttle=20
jdbc-0.proxool.overload-wIThout-refusal-lifetime=10000  
jdbc-0.proxool.maximum-active-time=50000
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-SQL-exception=ORA-1234
jdbc-0.proxool.prototype-count=2

同时软件-基本信息,数据源的连接池也需要改大
回复

使用道具 举报

 楼主| 辽宁信诚移动 发表于 2015-5-12 13:57:45 | 显示全部楼层
“maximum-connection-count=50”的意思是最多支持50人同时使用吗?
对于500人的访问量,能给些配置建议吗?
另外好像系统的并发线程最多支持200,所以业务库配置为145,系统库配置为50,如果数据库池超过了200,能行吗(以前是会出现数据库访问失败的),,,
回复

使用道具 举报

karrman 发表于 2015-5-12 14:10:18 | 显示全部楼层
1、“maximum-connection-count=50”的意思是最多支持50人同时使用吗?
----是系统库最大支持50个同时使用;
2、对于500人的访问量,能给些配置建议吗?
---你看一下mysql最大的连接数可以设置多少,就改一下my.ini的配置文件,连接数的设置;如果你的mysql和tomcat的负载压力都很大,这就需要考虑做分布式的集成;
回复

使用道具 举报

 楼主| 辽宁信诚移动 发表于 2015-5-12 14:14:27 | 显示全部楼层
你们实施经验应该挺丰富的,能就500人的使用人数,给我个具体的配置值及修改位置吗,,,
暂时不考虑分布式部署,,,
回复

使用道具 举报

karrman 发表于 2015-5-12 14:19:22 | 显示全部楼层
   第一种:命令行修改。

    >mysql -uuser -ppassword(命令行登录MySQL)

    mysql>show variables like 'max_connections';(查可以看当前的最大连接数)

    msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)

    mysql>exit(推出)

    这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。

    第二种:修改配置文件。

   这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是my.ini这个文件在哪找。通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下。
回复

使用道具 举报

 楼主| 辽宁信诚移动 发表于 2015-5-12 14:26:19 | 显示全部楼层
同时,我需要把jdbc-0.proxool.maximum-connection-count=50改成500吗?
对my.ini的修改,会不会出现mysql线程池大于系统并发线程(200)数的问题?
另外,数据库的线程池,不需要修改如下图所示的系统配置吗?
大访问量配置.png
回复

使用道具 举报

karrman 发表于 2015-5-12 14:31:24 | 显示全部楼层
jdbc-0.proxool.maximum-connection-count=50
---这个是系统库最大的连接数
而数据源中连接池大小是业务库的连接数;一般我们系统库的连接数需要大于系统库的连接数;加上你my.ini
最大的连接数为500

对my.ini的修改,会不会出现mysql线程池大于系统并发线程(200)数的问题?
----这个没有实施过,不确定
则jdbc-0.proxool.maximum-connection-count+数据源的连接数《=500


回复

使用道具 举报

 楼主| 辽宁信诚移动 发表于 2015-5-12 14:31:37 | 显示全部楼层
我想知道,500人的用户量,在系统中如何协调的修改配置,,,单纯修改mysql我会,但放在系统中可能引入别的问题,比如和系统的并发线程数不协调等等,,,希望大神根据贵公司的部署经验,在大量用户使用系统的情况教教我怎么做,从全局考虑怎么配置,谢谢!
回复

使用道具 举报

karrman 发表于 2015-5-13 14:09:56 | 显示全部楼层
1、apache的maxThreads大小修改500;
2、tomcat的最大线程数改成500
3、之后按上面的说法修改mysql的配置文件my.ini的最大连接数;
4、proxool.properties中jdbc-0.proxool.maximum-connection-count=50就可以,数据源连接池大小改成450以上;
附件为平台性能调优指南,你可以参考一下

myApps平台性能调优指南V1.0.pdf

1.6 MB, 下载次数: 2262

回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 03:14

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表