标签: performance-testing

OProfile警告"丢弃超空间样本"是什么意思?

使用统计执行分析器OProfile可视化我的C应用程序的调用图配置文件时,它会多次包含以下警告.警告对我来说相当神秘:

warning: dropping hyperspace sample at offset 1af9 >= 2be8 for binary /home/myuser/mybinary
Run Code Online (Sandbox Code Playgroud)

我在Xen虚拟化环境中使用OProfile,如下所示:

modprobe oprofile timer=1
opcontrol --no-vmlinux
opcontrol --start
(wait for profiling data to accumulate)
opcontrol --stop
opreport --session-dir=/var/lib/oprofile --exclude-dependent --demangle=smart \
--symbols /home/myuser/mybinary --callgraph
Run Code Online (Sandbox Code Playgroud)

最后一个命令的完整输出是:

Overflow stats not available
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
warning: dropping hyperspace sample at offset 84d0 >= 79a0 for binary /home/myuser/mybinary
warning: dropping hyperspace sample at offset 7ac0 >= 79a0 for binary /home/myuser/mybinary
warning: …
Run Code Online (Sandbox Code Playgroud)

c linux profiling performance-testing oprofile

4
推荐指数
1
解决办法
878
查看次数

如何使我的Tomcat v6.0 localhost服务器启用压缩"gzip"?

我已经完成了Eclipse IDE 下的Java EE Web应用程序的开发和作为localhost服务器的Tomcat v6.0 现在我需要创建我的localhost服务器(Tomcat v6.0)启用压缩"gzip" 对于静态资源(JavaScript文件,CSS)文件,图片,...)


java tomcat gzip web-applications performance-testing

4
推荐指数
2
解决办法
6759
查看次数

使用Android Development Studio分析Android应用程序的性能

在使用Android Development Studio时,分析我的应用程序性能的最佳方法是什么?

android performance-testing android-studio

4
推荐指数
1
解决办法
2646
查看次数

与单个进程方案相比,多进程方案中的访问时间意外较低

我从program1访问共享库(共享数组数据结构),并找到读取该数组的所有元素的访问时间.我得到大约17000个滴答,而只有Program1单独执行.

现在,当我首先在另一个选项卡中执行program2(具有空的while循环以保持终止)时,然后运行program1并测量访问时间以读取该数组的所有元素.令我惊讶的是,与之前只有Program1执行的场景相比,我获得了8000ticks.

看起来只有program1执行时才需要花费更多时间来读取数组,而有2个程序时,program1正在执行与之前相同的任务,而program2通过while循环使CPU保持忙碌状态.预计存在program1的访问时间会更长,而实际结果则相反.

为什么会这样?

这是共享库

#include <stdio.h> 
static const int DATA[1024]={1 ,2 ,3,.....1024];
inline void foo(void)
{
    int j, k=0,count=0;

    for(j=0;j<1024;j++)
      {
        k=DATA[j];
      }

    k+=0;    
}
Run Code Online (Sandbox Code Playgroud)

PROGRAM1

   int main(void)
    {    
    foo();

    start=timer();
    foo();
    end=timer();
    printf("Time1=%llu\n",end-start);    

    start=timer();
    foo();
    end=timer();
    printf("Time2=%llu\n",end-start);    


    start=timer();
    foo();
    end=timer();
    printf("Time3=%llu\n",end-start); 
    sleep(1);

    start=timer();
    foo();
    end=timer();
    printf("after sleep(1)\n");
    printf("Time4=%llu\n",end-start);    

    start=timer();
    foo();
    end=timer();
    printf("Time5=%llu\n",end-start);    

    sleep(2); 
    start=timer();
    foo();
    end=timer();
    printf("after sleep(2)\n");
    printf("Time6=%llu\n",end-start);    

    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

程序2

   int main(void)
    {
    while(1)
        {}        
    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

CASE1(仅运行Program1)

产量

Time1=17918
Time2=17672  
Time3=17816  

after sleep(1) …
Run Code Online (Sandbox Code Playgroud)

c performance gcc cpu-architecture performance-testing

4
推荐指数
1
解决办法
157
查看次数

为什么我收到响应代码:非HTTP响应代码:java.net.SocketException?

我正在尝试使用JMeter将请求发送到我在localhost上运行的应用程序,但由于java.net.SocketException,许多请求都失败了.我没有在控制台中看到任何异常.

我读了这些问题1问题2,但没有多大帮助.

我的代码如下:

 try {
        return myService.findItems(group);

    } catch (NullPointerException n) {
        n.printStackTrace();
    } catch (HibernateException h) {
        h.printStackTrace();
    } catch (IOException i) {
        i.printStackTrace();
    }
    return null;
Run Code Online (Sandbox Code Playgroud)

知识库

  public LinkedHashMap findItems(String group) throws NullPointerException, HibernateException, IOException {
        Session session = sessionFactory.getCurrentSession();
                 ..... //request is sent to database

        return items;
    }
Run Code Online (Sandbox Code Playgroud)

我的JMeter配置的屏幕截图

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

java performance spring-mvc jmeter performance-testing

4
推荐指数
1
解决办法
2万
查看次数

Pharo系统调整选项

我是StackOverflow的新手,正在寻找技巧并帮助在Windows环境中调优Pharo 5.0.

我的PC运行的是Windows 10,CPU为I5-4670K(4 Ghz),而Plextor 512G SSD为C驱动器,其中Pharo 5.0已加载并运行.

下面是我用来理解Pharo在性能和计算精度方面的行为的一组代码.

  | x y |
  x := 0.
  y := 400000000.
  [1 to: 2000000000 do: [ :i | 
      x := x + 0.2]] timeToRun
Run Code Online (Sandbox Code Playgroud)

执行需要2分钟8.281秒.如果我从迭代次数中剔除一个零,那么完成只需1.762秒.迭代次数超过执行时间的70倍以上.似乎我遇到了一个系统边界,这样两个案例之间的执行时间增长远远超过10倍.

欣赏任何提示,并帮助微调Pharo 5.0 VM,以便我可以减少这种意外和不良的系统行为?

ps在执行期间,Windows任务管理器未报告磁盘活动的任何更改.几乎所有执行都是RAM和CPU操作.顺便说一句,除非你有一个更快的PC,请不要尝试在迭代次数上添加另一个零,花了这么长时间我不得不打破执行.

smalltalk performance-testing pharo

4
推荐指数
1
解决办法
154
查看次数

解释与Python中的动态调度惩罚

我看了Brandon Rhodes关于Cython的演讲 - "EXE的日子在我们身上".

布兰登在09:30提到,对于一段特定的短代码,跳过解释给出了40%的加速,而跳过分配和发送则给出了574%的加速(10:10).

我的问题是 - 如何测量特定的代码?是否需要手动提取底层c命令,然后以某种方式使运行时运行它们?

这是一个非常有趣的观察,但我如何重新创建实验呢?

python dynamic-programming performance-testing cython dispatch

4
推荐指数
1
解决办法
341
查看次数

比特移位的目的是什么?

我正在审查Linux的开源AMD GPU驱动程序.我注意到了以前没见过的东西,我想知道目的.在sid.h文件的第1441行,有一系列定义是整数被0左移位.这不会导致原始整数被操作吗?

这是摘录和头部的链接

    #define VGT_EVENT_INITIATOR                      0xA2A4
    #define SAMPLE_STREAMOUTSTATS1                   (1 << 0)
    #define SAMPLE_STREAMOUTSTATS2                   (2 << 0)
    #define SAMPLE_STREAMOUTSTATS3                   (3 << 0)
Run Code Online (Sandbox Code Playgroud)

https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/amdgpu/sid.h#L1441

此外,我正在学习访问AMD GPU的性能计数器寄存器,以计算GPU负载.关于这一点的任何提示也将受到赞赏.

c linux gpu driver performance-testing

4
推荐指数
1
解决办法
133
查看次数

使用Kubernetes的Apache Presto

我们正在尝试使用Kubernetes实现Apache Presto。我们有一个在云上作为服务运行的kubernetes集群。我尝试在Google上进行搜索,但是无法找到关于使用Kubernetes部署Presto的最佳实践的最终结果。虽然存在Presto的官方github-但无济于事。以下是我要寻求答案的两个问题:

  1. 用Kubernetes配置Presto的最佳方法是什么-理想的工作副本等指标?
  2. 我们如何继续进行此部署的性能测试?

performance-testing presto docker kubernetes

4
推荐指数
1
解决办法
2326
查看次数

这意味着“检测到的时间复杂度:O(YX)”是什么意思?

我正在执行一些Codility编码实践,结果得到了“检测到的时间复杂度:O(YX)”。我不明白这是什么意思。是因为我糟糕且不断循环吗?如何增强或改善性能以摆脱这种不良性能?

public static int Solution(int startPoint, int endPoint, int frogJumpPowerDistance)
{
            int jumpCount = 0;

            // AIM: return the number of jumps to reach endPoint

            // CHECK: no jump needed.
            if (startPoint == endPoint) return jumpCount;

            int distanceReach = startPoint + frogJumpPowerDistance;
            jumpCount++;
            if (distanceReach < endPoint)
            {
                //enter checking loop
                do
                {
                    distanceReach += frogJumpPowerDistance;
                    jumpCount++;
                }
                while (distanceReach < endPoint);
            }

            return jumpCount;
}
Run Code Online (Sandbox Code Playgroud)

我希望不会收到超时错误。但是我明白了。

我不确定如何改善代码以解决超时错误。

对于输入(5,1000000000,2),解决方案超出了时间限制。

供你参考,

  1. 所有输入都在[1 ... 1,000,000,000]范围内。

  2. startPoint小于或等于endPoint。

c# algorithm loops performance-testing time-complexity

4
推荐指数
1
解决办法
142
查看次数