At least on the web site. Probably in the async section.

Ralph

On Jul 26, 2013, at 3:28 PM, Gary Gregory wrote:

> Should we report a warning if async features are enabled and java
> reports a CPU count of 1?
> 
> Gary
> 
> On Jul 26, 2013, at 17:56, "SMITH, CURTIS" <cs0...@att.com> wrote:
> 
>> LOL well that's obvious now.  :)  It was more a case of wishful thinking and 
>> why not give it a "try".    But it's still odd that my attempts to slim it 
>> down It's still 2x worse than v1.  Something else is in play.
>> 
>> curt
>> 
>> -----Original Message-----
>> From: Ralph Goers [mailto:ralph.go...@dslextreme.com]
>> Sent: Friday, July 26, 2013 5:34 PM
>> To: Log4J Users List
>> Subject: Re: async logger on slow single core env performs 50% worse than 
>> log4j v1
>> 
>> I'm curious why you are even trying to use Async anything with a single core 
>> environment (unless it is hyper-threaded). Only 1 thread can be active at a 
>> time so when you switch threads the active thread will just stop. This won't 
>> gain you any additional throughput but you will still incur the additional 
>> overhead of thread management and locking.
>> 
>> Ralph
>> 
>> On Jul 26, 2013, at 1:55 PM, SMITH, CURTIS wrote:
>> 
>>> I removed  System.setProperty("AsyncLoggerContextSelector", 
>>> "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
>>> No change in CPU, but going from FastRollingFile to RollingFile I got back 
>>> 10% of my lost CPU.  Still at 40% CPU where v1 runs at 20%.
>>> 
>>> I would like to get down to the equivalent behavior as we got from log4j 
>>> v1, then try v2 features to get it better.  Since I'm still seeing worse 
>>> performance, I'm guessing that there's still one or more threads under the 
>>> hood vs V1 with:  sync Logger and RollingFile.
>>> 
>>> Any guesses for me to try?
>>> 
>>> Tnx curt
>>> 
>>> _____________________________________________
>>> From: SMITH, CURTIS
>>> Sent: Friday, July 26, 2013 1:16 PM
>>> To: log4j-user@logging.apache.org
>>> Subject: async logger on slow single core env performs 50% worse than log4j 
>>> v1
>>> 
>>> 
>>> I suspect a slow single core env is a new scenario for v2 and async logger. 
>>>   My view is that there's a mis match between v2's async logger thread 
>>> design that works great on multi-core envs and this embedded slow single 
>>> core env...   Sooo I need to try a few different configurations to see what 
>>> does run best on a slow single core...
>>> 
>>> But I need your tips as to what I might change / tune to get v2 to perform 
>>> as good or better than v1 in a single core env.
>>> 
>>> FWIW:  log4j v1 ran my standard use case test averaging 20% CPU.  Log4j v2 
>>> ran at 50% CPU, so more than 2x worse.
>>> 
>>> Our business logic is highly threaded so any subsystem that has a "hot" 
>>> thread like this config that has 5 loggers and 3 appenders I might be 
>>> shooting myself in the foot.  You know this new design the best so I'm open 
>>> as to what to pick and choose from v2 that is likely to perform the best?
>>> 
>>> FYI:  I feel using system properties vs exclusively using declarative 
>>> configuration all within the log4j2.xml separates out configuration.  I'd 
>>> prefer to not have to use system properties for any configuration.
>>> 
>>> My first experiment will be to remove the async logger property.
>>> 
>>> Any thoughts re the FastRollingFile appender or any other tuning that might 
>>> be better for a single core env.  It's a slow Arm v5 or so, pretty old and 
>>> lacking the better context switching features of newer chips.  The VM is 
>>> also slow,  IBM J9 J2ME JDK1.6.   Benchmarking the J9 vs Oracle J2ME, J9 is 
>>> real slow and poor at thread context switching.  But you get what you pay 
>>> for, J9 is also real cheap.
>>> 
>>> ******
>>> ******
>>> Note:  the log files are on /tmp a memory FS in our env.  So the worst case 
>>> of a synchronous logger from the same thread as the logger.debug call may 
>>> not perform that badly thanks to Linux FS buffering and memfs having low 
>>> latency.  Just mentioning.
>>> 
>>> 
>>> // Manually set the log4j v2 async logger tuning parameters here.  DLA does 
>>> not have a system property
>>>              // property file
>>>              System.setProperty("AsyncLoggerContextSelector", 
>>> "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
>>>              System.setProperty("AsyncLogger.RingBufferSize", "128");       
>>>  // min size permissable to keep memory low
>>>              System.setProperty("AsyncLogger.WaitStrategy", "Block");       
>>>  // less CPU, better for embedded env
>>>              System.setProperty("log4j2.disable.jmx", "true");              
>>>          // saves on a jmx jar and we don't use JMX anyway
>>> 
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <configuration status="trace" level="trace" >  <!-- log4j v2 debug add 
>>> these: status="trace" level="trace" -->
>>>      <appenders>
>>>              <FastRollingFile name="DLA"
>>>                      fileName="/tmp/att/sync/log/dla.log"
>>>                      filePattern="/tmp/att/sync/log/dla.log.%i" 
>>> append="true">
>>>                      <PatternLayout>
>>>                              
>>> <pattern>[%d][%-5p][%-15t][%-15c{1}]:%m%n</pattern>
>>>                      </PatternLayout>
>>>                      <Policies>
>>>                              <SizeBasedTriggeringPolicy size="3 MB" />
>>>                      </Policies>
>>>                      <DefaultRolloverStrategy max="2" />
>>>              </FastRollingFile>
>>>              <FastRollingFile name="DEVICES"
>>>                      fileName="/tmp/att/sync/log/dla_devices.log"
>>>                      filePattern="/tmp/att/sync/log/dla_devices.log.%i" 
>>> append="true">
>>>                      <PatternLayout>
>>>                              
>>> <pattern>[%d][%-5p][%-15t][%-15c{1}]:%m%n</pattern>
>>>                      </PatternLayout>
>>>                      <Policies>
>>>                              <SizeBasedTriggeringPolicy size="3 MB" />
>>>                      </Policies>
>>>                      <DefaultRolloverStrategy max="1" />
>>>              </FastRollingFile>
>>>              <FastRollingFile name="VIDEO"
>>>                      fileName="/tmp/att/sync/log/dla_video.log"
>>>                      filePattern="/tmp/att/sync/log/dla_video.log.%i" 
>>> append="true">
>>>                      <PatternLayout>
>>>                              
>>> <pattern>[%d][%-5p][%-15t][%-15c{1}]:%m%n</pattern>
>>>                      </PatternLayout>
>>>                      <Policies>
>>>                              <SizeBasedTriggeringPolicy size="3 MB" />
>>>                      </Policies>
>>>                      <DefaultRolloverStrategy max="1" />
>>>              </FastRollingFile>
>>>              <Console name="CO" target="SYSTEM_OUT">
>>>                      <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - 
>>> %m%n" />
>>>              </Console>
>>>      </appenders>
>>>      <loggers>
>>>              <logger name="com.att.dlc.afm" additivity="false" >
>>>                      <appender-ref ref="DLA" />
>>>              </logger>
>>>              <logger name="com.att.dlc.devices" additivity="false" 
>>> level="debug">
>>>                      <appender-ref ref="DEVICES" />
>>>              </logger>
>>>              <logger name="com.att.dlc.util.serialport" additivity="false" 
>>> level="debug">
>>>                      <appender-ref ref="DEVICES" />
>>>              </logger>
>>>              <logger name="com.att.dlc.webcamserver" additivity="false" 
>>> level="debug">
>>>                      <appender-ref ref="VIDEO" />
>>>              </logger>
>>>              <logger name="com.att.dlc.devices.cameras" additivity="false" 
>>> level="debug">
>>>                      <appender-ref ref="VIDEO" />
>>>              </logger>
>>>              <root level="debug">
>>>                      <appender-ref ref="DLA" />
>>>              </root>
>>>      </loggers>
>>> </configuration>
>>> 
>>> Curt Smith
>>> AT&T Digital Life
>>> DLC Software Development
>>> 404-499-7013
>>> (cell) 678-365-6508
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to