[ 
https://issues.apache.org/jira/browse/STORM-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14002769#comment-14002769
 ] 

ASF GitHub Bot commented on STORM-297:
--------------------------------------

Github user clockfly commented on a diff in the pull request:

    https://github.com/apache/incubator-storm/pull/103#discussion_r12827318
  
    --- Diff: storm-core/src/jvm/backtype/storm/messaging/netty/Client.java ---
    @@ -21,52 +21,53 @@
     import backtype.storm.messaging.IConnection;
     import backtype.storm.messaging.TaskMessage;
     import backtype.storm.utils.Utils;
    -
     import org.jboss.netty.bootstrap.ClientBootstrap;
     import org.jboss.netty.channel.Channel;
     import org.jboss.netty.channel.ChannelFactory;
    -import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
     import org.jboss.netty.channel.ChannelFuture;
     import org.jboss.netty.channel.ChannelFutureListener;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
    -
     import java.net.InetSocketAddress;
    +import java.util.ArrayList;
    +import java.util.Iterator;
    +import java.util.List;
     import java.util.Map;
    -import java.util.Timer;
    -import java.util.TimerTask;
     import java.util.Random;
    -import java.util.concurrent.LinkedBlockingQueue;
    -import java.util.concurrent.atomic.AtomicBoolean;
    -import java.util.concurrent.atomic.AtomicInteger;
    +import java.util.concurrent.atomic.AtomicLong;
     import java.util.concurrent.atomic.AtomicReference;
     
    -class Client implements IConnection {
    +public class Client implements IConnection {
         private static final Logger LOG = 
LoggerFactory.getLogger(Client.class);
    -    private static final Timer TIMER = new Timer("netty-client-timer", 
true);
    -
    +    private static final String PREFIX = "Netty-Client-";
         private final int max_retries;
         private final long base_sleep_ms;
         private final long max_sleep_ms;
    -    private LinkedBlockingQueue<Object> message_queue; //entry should 
either be TaskMessage or ControlMessage
         private AtomicReference<Channel> channelRef;
         private final ClientBootstrap bootstrap;
    -    InetSocketAddress remote_addr;
    -    private AtomicInteger retries;
    +    private InetSocketAddress remote_addr;
    +    
         private final Random random = new Random();
         private final ChannelFactory factory;
         private final int buffer_size;
    -    private final AtomicBoolean being_closed;
    -    private boolean wait_for_requests;
    +    private boolean closing;
    +
    +    private Integer messageBatchSize;
    +    private Boolean blocking = false;
    --- End diff --
    
    fixed


> Storm Performance cannot be scaled up by adding more CPU cores
> --------------------------------------------------------------
>
>                 Key: STORM-297
>                 URL: https://issues.apache.org/jira/browse/STORM-297
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>            Reporter: Sean Zhong
>              Labels: Performance, netty
>             Fix For: 0.9.2-incubating
>
>         Attachments: Storm_performance_fix.pdf, 
> storm_Netty_receiver_diagram.png, storm_performance_fix.patch
>
>
> We cannot scale up the performance by adding more CPU cores and increasing 
> parallelism.
> For a 2 layer topology Spout ---shuffle grouping--> bolt, when message size 
> is small (around 100 bytes), we can find in the below picture that neither 
> the CPU nor the network is saturated. When message size is 100 bytes, only 
> 40% of CPU is used, only 18% of network is used, although we have a high 
> parallelism (overall we have 144 executors)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to