Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance linux上的liferay性能问题_Performance_Tomcat6_Liferay_Liferay 6_Grinder - Fatal编程技术网

Performance linux上的liferay性能问题

Performance linux上的liferay性能问题,performance,tomcat6,liferay,liferay-6,grinder,Performance,Tomcat6,Liferay,Liferay 6,Grinder,我在两台机器上安装了带有Tomcat系统的Liferay 6: 机器1: Windows 2003服务器 2GB内存,2Gh CPU Mysql版本14.14发行版5.1.49 带有Tomcat 6的Liferay 6.0.6 机器2: Linux CentOS 5.5 4GB内存,2Gh CPU Mysql版本14.14发行版5.5.10 带有Tomcat 6的Liferay 6.0.6 两个liferay系统都具有相同的启动参数和mysql配置。 liferay系统包含一个自定义主题

我在两台机器上安装了带有Tomcat系统的Liferay 6:


机器1:
Windows 2003服务器
2GB内存,2Gh CPU
Mysql版本14.14发行版5.1.49
带有Tomcat 6的Liferay 6.0.6


机器2:
Linux CentOS 5.5
4GB内存,2Gh CPU
Mysql版本14.14发行版5.5.10
带有Tomcat 6的Liferay 6.0.6

两个liferay系统都具有相同的启动参数和mysql配置。 liferay系统包含一个自定义主题和一个servlet过滤器挂钩,用于检查每个URL访问

我们已经编写了一个Grinder脚本来测试系统的负载,从
50个并发用户开始

测试脚本执行以下操作:

  • 打开主页
  • 使用用户名/密码登录
  • 输入安全密钥(自定义portlet)
  • 搬到私人社区
  • 注销
  • 在Windows系统上,响应时间与预期一致(研磨机中每次测试的平均时间接近40秒)。 但是在Linux系统上,对于相同的操作,响应时间太长(将近4分钟)

    我们试图修改mysql、tomcat、连接池和其他几个参数,但结果都是一样的。还使用另一台机器的mysql测试了liferay(机器1 liferay->机器2 mysql)


    在我们的测试环境和客户端的Linux机器上,我们也面临同样的问题。

    在Grinder脚本中,您是否将每个步骤设置为单独的事务?这将允许您查看每个步骤所花费的时间。了解是否所有事情都比较慢,或者是否只是一种事务类型使您的速度变慢,可能会很有用

    另外,Linux上的Tomcat日志中是否有您在windows上看不到的内容?意外的java堆栈跟踪等

    最后,每台机器上的数据库是否相同?他们有相同数量的数据吗?它们有相同的索引吗


    编辑:是一个事务占用了所有额外的时间,还是每个事务都比较慢?当您在linux机器上运行“top”时,是tomcat java进程消耗了您所有的CPU还是其他进程?

    在Grinder脚本中,您是否将每个步骤设置为单独的事务?这将允许您查看每个步骤所花费的时间。了解是否所有事情都比较慢,或者是否只是一种事务类型使您的速度变慢,可能会很有用

    另外,Linux上的Tomcat日志中是否有您在windows上看不到的内容?意外的java堆栈跟踪等

    最后,每台机器上的数据库是否相同?他们有相同数量的数据吗?它们有相同的索引吗


    编辑:是一个事务占用了所有额外的时间,还是每个事务都比较慢?当您在linux机器上运行“top”时,是tomcat java进程消耗了您所有的CPU还是其他进程?

    这看起来像是一个重复的问题。我怀疑您的问题与内存/jvm配置有关,特别是与垃圾收集有关。小负载下的高CPU利用率往往指向这个方向。

    这似乎是一个重复的问题。我怀疑您的问题与内存/jvm配置有关,特别是与垃圾收集有关。小负载下的高CPU利用率往往指向这个方向。

    Grinder脚本将每个页面请求划分为多个请求,并显示在结果集中。我们还添加了新函数来计算整个测试所花费的总时间,因为脚本不报告总时间。除了常规日志消息外,Tomcat日志没有任何异常。每台计算机上的数据库都具有相同的值。最近,我们仅使用liferay特定数据进行测试,因此没有输入任何特殊数据。我们发现,在测试期间,这台机器的CPU利用率(top命令中的负载平均值)出人意料地高,但是无法确定在两个不同的前提下,两台不同的linux机器如何会有相同的问题。java占用了80%到85%的CPU时间,但从未像在Windows机器下那样达到100%。在测试运行期间的最后60秒内,我们关心的负载平均值为20到24。占用CPU时间最多的5个进程是:kjournald、hald addon star、kblockd/0、java和mysqlwe已经开始使用AppDynamics查找响应较慢的部件/请求。我们发现下面的代码阻塞了线程
    com.mchange.v2.resourcepool.BasicResourcePool.checkinResource(BasicResourcePool.java:683)
    我们使用C3PO作为连接池。Rinder脚本将每个页面请求划分为多个请求,并显示在结果集中。我们还添加了新函数来计算整个测试所花费的总时间,因为脚本不报告总时间。除了常规日志消息外,Tomcat日志没有任何异常。每台计算机上的数据库都具有相同的值。最近,我们仅使用liferay特定数据进行测试,因此没有输入任何特殊数据。我们发现,在测试期间,这台机器的CPU利用率(top命令中的负载平均值)出人意料地高,但是无法确定在两个不同的前提下,两台不同的linux机器如何会有相同的问题。java占用了80%到85%的CPU时间,但从未像在Windows机器下那样达到100%。在测试运行期间的最后60秒内,我们关心的负载平均值为20到24。占用CPU时间最多的5个进程是:kjournald、hald addon star、kblockd/0、java和mysqlwe已经开始使用AppDynamics查找响应较慢的部件/请求。我们发现下面的代码阻塞了线程
    com.mchange.v2.resourcepool.BasicResourcePool.checkinResource(BasicResourcePool.java:683)
    我们使用C3PO进行连接池