标签: performance-testing

每个服务器浏览器模拟的负载测试工具和并发连接

现代浏览器使用不同数量的描述一样,每台服务器的连接在这里。在现代网页中下载 100 多个资源是很常见的。特别是当服务器远离最终用户时,这会导致很大的性能问题。

我在负载测试工具(LoadRunner 和 JMeter)方面有过糟糕的经历,因为这些工具似乎无法正确模拟现代 Web 浏览器。我知道 JMeter 中有“使用并发池”设置,你可以在 LR 中模拟不同的浏览器,但你的经验是什么,那些真的像他们应该的那样工作吗?根据这篇博客文章 ,至少 JMeter 有一些问题。

我知道这些负载测试工具(LR、JMeter)的主要目的是测试服务器端,但我认为这仍然是一个相当大的问题。

performance jmeter load-testing performance-testing loadrunner

-1
推荐指数
1
解决办法
8370
查看次数

如何让这个匹配算法运行得更快呢?

我有两个指向数据结构X的指针列表,算法非常简单:

它循环遍历第一个列表 A 并尝试在列表 B 中查找第一个匹配元素。要求是每个列表中至少有 50k 个元素:

#include <iostream>
#include <memory>
#include <chrono>
#include <vector>
#include <algorithm>
#include <string>

struct X {
    std::string field_1;
    std::string field_2;
    std::string field_3;
    std::string field_4;

    X(std::string f1, std::string f2, std::string f3, std::string f4)
        : field_1(f1)
        , field_2(f2)
        , field_3(f3)
        , field_4(f4)
    {};

    bool equal(const std::shared_ptr<X>& x) {
        return  (x->field_1 == field_1) &&
                (x->field_2 == field_2) &&
                (x->field_3 == field_3) &&
                (x->field_4 == field_4);
    };

    X *match = nullptr;
};
typedef std::shared_ptr<X> X_ptr;


class Timer …
Run Code Online (Sandbox Code Playgroud)

c++ performance matching performance-testing c++11

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

python如何比C和C++运行得更快?

我做了一个简单的程序,只在屏幕上打印了100万个数字,python花了大约5.2秒.我认为C和C++应该更快,但每次运行都需要大约8秒.这些比python慢​​?

python代码:

import time

start = time.time()

i = 0
while i < 1000000:
    print(i)
    i += 1

time_taken = time.time() - start
print(("Program took %s seconds." % (time_taken)))
Run Code Online (Sandbox Code Playgroud)

程序耗时5.204254150390625秒.

C代码:

#include<stdio.h>

int main()
{
    for( int i = 0 ; i < 1000000 ; ++i )
        printf("%d\n", i);
}
Run Code Online (Sandbox Code Playgroud)

所用时间:8.582秒.

C++代码:

#include<iostream>

using namespace std;

int main()
{
    for( int i = 0 ; i < 1000000 ; ++i)
    cout<<i<<endl;
}
Run Code Online (Sandbox Code Playgroud)

所用时间:8.778秒.

当我运行时:

import time

start = time.time()

print(*range(1000000)) …
Run Code Online (Sandbox Code Playgroud)

c c++ python performance performance-testing

-2
推荐指数
1
解决办法
207
查看次数

有没有办法计算Go应用程序的启动时间?

我尝试计算 Go 应用程序启动和接受请求所需的时间。我尝试使用以下方法来做到这一点:

func main() {
    start:=time.Now()
    repo.CreateConnection()
    router := mux.NewRouter()
    r := bookController.Controller(router)
    fmt.Println("Starting server on the port 8080...")
    log.Fatal(http.ListenAndServe(":8080", r))
    fmt.Println(time.Since(start))
}
Run Code Online (Sandbox Code Playgroud)

但控制台只打印直到 Starting server on the port 8080...

GOROOT=/usr/local/go #gosetup
GOPATH=/Users/admin/go #gosetup
/usr/local/go/bin/go build -o /private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_payments_go_performance go-performance #gosetup
/private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_go_performance
Successfully connected!
Starting server on the port 8080...
Run Code Online (Sandbox Code Playgroud)

有没有办法显示正确的启动时间?我所说的启动时间是指该应用程序开始侦听端口 8080 所需的时间。

testing performance go performance-testing

-2
推荐指数
1
解决办法
1059
查看次数

IntelliJ IDEA与NetBeans对性能的影响?

因此,最近我恢复了学业(HS 2年级),今年我们将使用Java作为一切的主要语言。我已经独立使用Java大约一年了,我喜欢IntelliJ,但是我们的老师甚至拒绝看它,只是要求使用NetBeans,而不论我与她有过多少技术争论。

她认为这是因为计算机相当陈旧,笨拙(它们确实如此),但考虑到这一点,这真的是有意义的论据吗?我的ASUS笔记本电脑可以通过16GB RAM很好地处理IntelliJ,如下所示:

任务管理器

但是,由于一些奇怪的安装问题,我无法亲自测试NetBeans(糟糕),而且我也不喜欢将RAM降级到4GB(学校计算机的容量)。

所以我的问题是,即使IDEA(在我看来)是一个更好的IDE,IntelliJ的性能影响是否足以证明使用NetBeans合理?如果是这样,像Eclipse 这样的轻巧的东西会更有意义吗?

java eclipse netbeans intellij-idea performance-testing

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

C#中foreach循环的性能

我正在研究从数据库中获取数据的 C# API。我在数据库中插入了大约19500条记录以测试性能。这里,sampledData包含19500条记录。

var sampledData = await _dataContext.ItemsData
                                    .Include(i => i.ProcedureItem)
                                    .Include(i => i.ProcedureItem.ProcedureItem)
                                    .Include(i => i.ProcedureItem.ProcedureItemAll)
                                    .Where(i => i.Procedure.Status == true &&
                                                i.isValid== true &&
                                                i.Procedure.ID== ID).ToListAsync();

// Foreach loop on 19500 records to filter data and store them info list
var filteredList = new List<ProcedureFilteredData>();

foreach(var s in sampledData )
{
    if (filteredList.Any(i => i.ProcedureItem == s.ProcedureItem.ProcedureItem.Name))
    {
        continue;
    }

    var pData = new ProcedureFilteredData
    {
        ProcedureItemAll = s.ProcedureItem.Name
    };

    filteredList.Add(pData);
} …
Run Code Online (Sandbox Code Playgroud)

c# database api performance performance-testing

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