Hi, Luke, Thanks for your help. I'll test it. According to my tests, mem used by BloomFilter varied from 2B to 26MB. Perhaps sth. went wrong.
2009/7/18 Luke <[email protected]> > > Looks like the default is already 'rows', however we use first 1000 > cells to estimate number of rows in the cell store. The estimate could > be wrong. > > Increase max-approx-items might help: bloomfilter="rows > --max-approx-items 10000" > > 2009/7/17 Luke <[email protected]>: > > 2009/7/17 孔令华 <[email protected]>: > >> Thanks, Doug & Luke > >> > >> In my opinion, this kind of performance issue is not in the critical > path > >> (just in mind, no data support, but I think RPCs and disk-seeking would > cost > >> much more time). A clear log is very important, specially for normal > users. > > > > We sometime needs to turn on debugging to show a lot more data, we > > want to make sure the timing is not affected too much. Note, the > > logging system is not for range server only, it can be used for many > > other tools that could be cpu intensive. With the current format you > > can display it in any timezones easily, which would be important when > > you have data centers across the world. > > > >> BTW,according to our tests, using BloomFilter with the default params > costs > >> too many mems (a RangeServer with 1600 Ranges cost about 9GB, and about > 2GB > >> without BloomFilter). And I found that BloomFilter actually need these > mems > >> instead of fragments. > > > > Are there a lot of columns in the table? Can you use the > > bloomfilter=rows to see how much memory it uses? 7GB at 1% false > > positive rate can accommodate 6 billion items! > > > > Do you want an option to provide fixed amount memory per access group? > > > >> And at present, BloomFilter affects the whole system, which I think > should > >> be AccessGroup-wide. Using it with the table schema would be a better > >> choice(eg. appoint them when create table). > > > > You can certainly turn it off globally and use the options at create > > table time now. Doug is working on a lazy loading scheme, so that it > > uses less memory (bloomfilter and index are not loaded unless needed) > > > > __Luke > > > >> 2009/7/18 Luke <[email protected]> > >>> > >>> You can alias lcat='perl -pe "s/^\d+/localtime($&)/e"' > >>> > >>> Then you can lcat *.log to see more readable timestamps. Time > >>> conversion is very slow, especially it needs grab a global lock for > >>> timezones. Storing timestamps in timezone neutral format has a lot of > >>> benefits. > >>> > >>> On Fri, Jul 17, 2009 at 7:45 AM, Phoenix<[email protected]> > wrote: > >>> > > >>> > 1. At present, the time field of the log is very hard to read. It's > >>> > unreadable at some point. > >>> > eg. 1247799471 INFO Hypertable.Master : > >>> > > >>> > There're some configurable options that can opt the output string. > >>> > eg: > >>> > > >>> > diff --git a/src/cc/Common/Logger.cc b/src/cc/Common/Logger.cc > >>> > index 301a2d1..985f231 100644 > >>> > --- a/src/cc/Common/Logger.cc > >>> > +++ b/src/cc/Common/Logger.cc > >>> > @@ -28,6 +28,7 @@ > >>> > #include <log4cpp/Layout.hh> > >>> > #include <log4cpp/NDC.hh> > >>> > #include <log4cpp/Priority.hh> > >>> > +#include <log4cpp/PatternLayout.hh> > >>> > > >>> > #include "Logger.h" > >>> > > >>> > @@ -127,8 +128,8 @@ void > >>> > Logger::initialize(const String &name, int priority, bool > >>> > flush_per_log, > >>> > std::ostream &out) { > >>> > appender = new FlushableOstreamAppender("default", out, > >>> > flush_per_log); > >>> > - Logging::Layout* layout = new Logging::BasicLayout(); > >>> > - //Logging::Layout* layout = new MicrosecondLayout(); > >>> > + Logging::PatternLayout* layout = new Logging::PatternLayout(); > >>> > + layout->setConversionPattern("[%d{%Y-%m-%d %H:%M:%S}] %p %c %x: %m > >>> > %n"); > >>> > appender->setLayout(layout); > >>> > logger = &(Logging::Category::getInstance(name)); > >>> > logger->addAppender(appender); > >>> > > >>> > > >>> > After this mod, the output string is much better. eg: > >>> > [2009-07-17 14:53:57] INFO Hypertable.RangeServer : > >>> > > >>> > > >>> > 2. Besides, log should support rolling. At present, the log files'll > >>> > grow very large as time goes. > >>> > > > >>> > > >>> > >>> > >> > >> > >> >> > >> > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hypertable Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/hypertable-dev?hl=en -~----------~----~----~----~------~----~------~--~---
