小编Jon*_*han的帖子

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

我正在尝试使用Java中的套接字和对象流来进行本地IPC但是我看到性能不佳.

我正在测试通过ObjectOutputStream发送对象的ping时间,以通过Socket上的ObjectInputStream接收回复.

这是请求者:

public SocketTest(){

    int iterations = 100;
    try {
        Socket socket = new Socket("localhost", 1212);

        ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream()); 
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream()); 

        double start = System.currentTimeMillis();
        for (int i = 0; i < iterations; ++i) {

            Request request = new Request();
            objectOutputStream.writeObject(request);

            Response response = (Response)objectInputStream.readObject();
        }
        double finish = System.currentTimeMillis();
        System.out.println("Per ping: " + (finish - start) / iterations );

    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是响应者:

public ServerSocketTest(){

    try {

        ServerSocket …
Run Code Online (Sandbox Code Playgroud)

java sockets performance objectoutputstream objectinputstream

10
推荐指数
1
解决办法
3826
查看次数

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
查看次数