相关疑难解决方法(0)

如何在Java中编写正确的微基准测试?

你如何在Java中编写(并运行)正确的微基准测试?

我在这里寻找代码示例和注释,说明要考虑的各种事项.

示例:基准测量应该测量时间/迭代或迭代/时间,为什么?

相关:秒表基准可以接受吗?

java benchmarking jvm jvm-hotspot microbenchmark

835
推荐指数
11
解决办法
11万
查看次数

Java socket性能瓶颈:在哪里?

我最近开始开发一个密集使用网络的应用程序.第一次使用RMI尝试,由于几个原因,我们切换到纯套接字.但是,当通过网络或甚至在localhost上测试套接字时,我们降低到25个请求/秒的速率.使用RMI时,它高出两个数量级.

通过更多测试,我们获得了以下(对于localhost):

  • 始终发送相同的对象:31628个请求/秒
  • 始终发送新对象:25个请求/秒
  • 只有对象创建率:每秒3-4百万(这不是瓶颈)

这是客户端代码:(服务器端只回复"ACK")

public static void main(String[] args) throws IOException, ClassNotFoundException
{
    Socket kkSocket = null;
    ObjectOutputStream out = null;
    ObjectInputStream in = null;


    kkSocket = new Socket("barium", 4444);
    out = new ObjectOutputStream(kkSocket.getOutputStream());
    in = new ObjectInputStream(kkSocket.getInputStream());


    long throughput;
    long millis;

    TcpRequest hello = null;


    throughput = 0;
    millis = System.currentTimeMillis();
    while (System.currentTimeMillis() < millis + 1000)
    {
        hello = new TcpRequest();
        hello.service = "hello";
        hello.payload = Math.random();
        throughput++;
    }

    System.out.println("-------------------------------------------------------");
    System.out.println("|        Objects created: " + (throughput) …
Run Code Online (Sandbox Code Playgroud)

java sockets

8
推荐指数
1
解决办法
8934
查看次数

Linux上的套接字性能

继我上一期的问题之后:

使用带有套接字的Javas对象流的性能问题

我正在研究Linux上的套接字性能.通过上面的例子,我的往返时间约为65μsec.如果我在文件系统上制作两个fifo,则会下降到~45μsec.使用localhost套接字的额外时间必须是因为我正在访问网络堆栈.

是否有一些操作系统配置可以使localhost套接字与命名管道一样快?

uname -a
Linux fiatpap1d 2.4.21-63.ELhugemem #1 SMP Wed Oct 28 23:12:58 EDT 2009 i686 athlon i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

提前致谢!

java sockets linux

5
推荐指数
1
解决办法
1598
查看次数

使用缓冲流来发送对象?

我目前在使用OutputStream的客户端 - 服务器应用程序中使用Java套接字而不是BufferedOutputStream(对于输入流也是如此).

客户端和服务器交换序列化对象(writeObject()方法).

在这种情况下使用BufferedOutputStream和BufferedInputStream是否有意义(更快)?

当我必须刷新或者我不应该写一个flush()语句?

java sockets iostream bufferedreader

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