How many of these objects should I be able to insert per second?

I'm inserting these objects using default (not POF) serialization with putAll(myMap). I receive about 4000 new quotes per second to put in the cache. I try coalescing them to various degrees but my other apps are still slowing down when these inserts are taking place. The applications are listening to the cache where these inserts are going using CQCs. The apps may also be doing get()s on the cache. What is the ideal size for the putAll? If I chop up myMap into batches of 100 or 200 objects then it increases the responsiveness of other apps but slows down the overall time to complete the putAll. Maybe I need a different cache topology? Currently I have 3 storage enabled cluster nodes and 3 proxy nodes. The quotes go to a distributed-scheme cache. I have tried both having the quote inserting app use Extend and becoming a TCMP cluster member. Similar issues either way.
Thanks,
Andrew
import java.io.Serializable;
public class Quote implements Serializable {
    public char type;
    public String symbol;
    public char exch;
    public float bid = 0;
    public float ask = 0;
    public int bidSize = 0;
    public int askSize = 0;
    public int hour = 0;
    public int minute = 0;
    public int second = 0;
    public float last = 0;
    public long volume = 0;
    public char fastMarket; //askSource for NBBO
    public long sequence = 0;
    public int lastTradeSize = 0;
    public String toString() {
        return "type='" + type + "'\tsymbol='" + symbol + "'\texch='" + exch + "'\tbid=" +
                bid + "\task=" + ask +
                "\tsize=" + bidSize + "x" + askSize + "\tlast=" + lastTradeSize + " @ " + last +
                "\tvolume=" + volume + "\t" +
                hour + ":" + (minute<10?"0":"") + minute + ":" + (second<10?"0":"") + second + "\tsequence=" + sequence;
    public boolean equals(Object object) {
        if (this == object) {
            return true;
        if ( !(object instanceof Quote) ) {
            return false;
        final Quote other = (Quote)object;
        if (!(symbol == null ? other.symbol == null : symbol.equals(other.symbol))) {
            return false;
        if (exch != other.exch) {
            return false;
        return true;
    public int hashCode() {
        final int PRIME = 37;
        int result = 1;
        result = PRIME * result + ((symbol == null) ? 0 : symbol.hashCode());
        result = PRIME * result + (int)exch;
        return result;
    public Object clone() throws CloneNotSupportedException {
        Quote q = new Quote();
        q.type=this.type;
        q.symbol=this.symbol;
        q.exch=this.exch;
        q.bid=this.bid;
        q.ask = this.ask;
        q.bidSize = this.bidSize;
        q.askSize = this.askSize;
        q.hour = this.hour;
        q.minute = this.minute;
        q.second = this.second;
        q.last = this.last;
        q.volume = this.volume;
        q.fastMarket = this.fastMarket;
        q.sequence = this.sequence;
        q.lastTradeSize = this.lastTradeSize;
        return q;
}

Well, firstly, I surprised you are using "float" objects in a financial object, but that's a different debate... :)
Second, why aren't you using pof? Much more compact from my testing; better performance too.
I've inserted similar objects (but with BigDecimal for the numeric types) and seen insert rates in the 30-40,000 / second (single machine, one node). Obviously you take a whack when you start the second node (backup's being maintained, plus that node is probably on a separate server, so you are introducing network latency.) Still, I would have thought 10-20,000/second would be easily doable.
What are the thread counts on the service's you are using?; I've found this to be quite a choke point on high-throughput caches. What stats are you getting back from JMX for the Coherence components?; what stats from the server (CPU, Memory, swap, etc)?; What spec of machines are you using? Which JVM are you using? How is the JVM configured? What's are the GC times looking like? Are you CQC queries using indexes? Are your get()'s using indexes, or just using keys? Have you instrumented your own code to get some stats from it? Are you doing excessive logging? So many variables here... Very difficult to say what the problem is with so little info./insight into your system.
Also, maybe look at using a multi-threaded "feeder" client program for your trades. That's what I do (as well as upping the thread-count on the cache service thread) and it seems to run fine (with smaller batch sizes per thread, say 50.) We "push" as well as fully "process" trades (into Positions) at a rate of about 7-10,000 / sec on a 4 server set-up (two cache storage nodes / server; two proxies / server.) Machines are dual socket, quad-core 3GHz Xeons. The clients use CQC and get()'s, similar to your set-up.
Steve

Similar Messages

  • How many java String objects are created in string literal pool by executin

    How many java String objects are created in string literal pool by executing following five lines of code.
    String str = "Java";
    str = str.concat(" Beans ");
    str = str.trim();
    String str1 = "abc";
    String str2 = new String("abc").intern();
    Kindly explain thanks in advance
    Senthil

    virtuoso. wrote:
    jverd wrote:
    In Java all instances are kept on the heap. The "String literal pool" is no exception. It doesn't hold instances. It holds references to String objects on the heap.Um, no.
    The literal pool is part of the heap, and it holds String instances.
    [http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#22972]
    [http://java.sun.com/docs/books/jvms/second_edition/html/ConstantPool.doc.html#67960]
    You're referring to the JVM. That's not Java.It's part of Java.
    There is nowhere in Java where it is correct to say "The string literal pool holds references, not String objects."

  • How many of licenses I should consider for 200-250 users?

    How many of licenses I should consider for 200-250 users?

    You should contact Adobe sales for your region. See Government and business software | Adobe Creative Cloud for enterprise and click the Enterprise link.

  • How many GOLDEN GATE extracts should I create for 300 schemas

    I have a question.I have 300 schemas and each schema has at least 120-130 tables which are not too big.I have to replicate all the schemas.What would be the best way to do it we have to also consider the memory we don't have much of memory available on source.I mean how many extract should I create.since it is also possible to create only one extract and we can add all schemas. what would be the best possible suggestion.should I create multiple extract lets say 10-20 and divide between them.or a single schema would be ok ??.
    can anyone suggest me something !!!
    Thanks in advance...

    The limit of 300 processes (extract and replicats) per manager as raised to 5000 in v11.2.1.
    You could certainly have 10 extracts:
    Extract 1
    Schema1.*;
    Schema2.*;
    etc
    Extract 2
    Schema31.*;
    Schema32.*;
    etc
    The main things to think of:
    Are their transactions that span schemas? Those should be in the same extract.
    Can the extract keep up with the volume from those 30 (or more) schemas?
    If I have to do maintainence on one schema and have to bring down the extract... are the other 29 schemas ok with this?
    Maybe the volume is such that you can put all 300 in one extract?

  • For 4 node RAC database on Exadata x3-2, how many scan IP I should assign?

    We want to build a 4 node RAC 11gr23 on exadata x3-2.  Oracle only recommend 3 ip for scan listener. by previous observation of non-exadata RAC, seems each node will spread randomly one Scan Ip address. So if we assign 3 ip to one scan listener, how that will work on a 4-node RAC?
    Thanks

    You're welcome
    by Load balancing
    Oracle RAC databases increase load balancing by using the single client access name (SCAN) for the cluster to balance connections among all instances in a cluster database. SCAN also adds location independence for the databases, so that client configuration does not have to depend on which nodes are running a particular database or database instance.
    http://docs.oracle.com/cd/E11882_01/install.112/e48195/undrstnd.htm#RIWIN607
    Based on the environment, the following actions occur when you use SCAN to connect to an Oracle RAC database using a service name. The numbered actions correspond to the arrows shown in Figure 7-1.
    http://docs.oracle.com/cd/E11882_01/install.112/e48195/undrstnd.htm#CIHIBEIH
    Regards

  • How to find out how many "maximum server memory" should I configure.

    Hello guys
    I'm asking myself what i should configure in "maximum server memory".
    Default is: 2147483647
    Is there a way to find out whats the best for my Database? 
    Cause I really dont understand the "DBCC MEMORYSTATUS" output :(
    Or is it allways "my server has 32GB of ram, so i configure max server memory to 28GB so the OS has 4GB to use"
    I know its a little bit a stupid question...
    Thanks and regards, Dominic

    This is NOT at all really a stupid question!! A very valid question. But its very difficult to answer your question :)
    There is no strict value for it. But you can come to a close value by understanding what are you running on your machine. But for 32 GB Total Memory, 26-28 would be a good capping and later you can do the adjustment as required.
    BTB, important question Are you facing any external memory pressure on your SQL Server and Whats your SQL Server Version(there are some changes for versions)?
    Links that would help you:
    http://www.sqlservercentral.com/blogs/glennberry/2009/10/29/suggested-max-memory-settings-for-sql-server-2005_2F00_2008/
    http://mssqlwiki.com/sqlwiki/sql-performance/basics-of-sql-server-memory-architecture/
    http://sportstoday.us/technology/sql-server-2012---optimizing-sql-server-memory-configuration---min-and-max-server-memory,-optimize-for-ad-hoc-workloads-.aspx

  • Zen Micro Owners, just how many of these things have fatal proble

    Here and elseware, I have been reading on the Zen Micro and have seen endless lists of people who've had problems with them (in many cases right out of the box). This thread is intended as a sort of roll call for those who've had major problems vs. those who haven't (who you tend to hear from less), to see sort of what my odds are or whatever.
    Thanks.

    Had problems with first one, did the "Reload Firmware" command - it would never be recognized by any computer again. Replaced by Amazon. #2 player did well for about 4 weeks, one day was working fine, turned it off. Turned it back on, and it would work only on power cord, not on battery. Bought a new battery from Amazon - did not work. Bought player #3 from Best Buy with $30 two year replacement policy (would never have bought another one without this assurance). It works fine so far (2 weeks) - and even more interestingly, a fully charged battery from the working unit will not in any way work in the broken one, so it is definitely NOT a battery problem with player #.
    So I have a dead Zen 40 days out - and will have to call Creative tomorrow, thank God that one is still in the 90 days. I would never buy another MP3 player of any brand mail-order, without a replacement policy. I don't care what anyone says, they are very temperamental gadgets.

  • How many HD 1080p Videos should the New MacBookPro Retina Display (2.6GHz i7, 8GB Ram, Flash Memory) should run Flowlessly/Smoothly??

    Dears at Mac Support,
    I am a Visual Artist, and I use my MacBook Pro for live Visual/Video Mixing and effects. Since I moved to this new club, i need to run all my Videos on HD 1080p Format. I already had the Latest MacBook Pro (2.3GHz i7, 8GB RAM) with the Stock HDD (5,700 RPM), and it performs beautifully, The only issue was Running more than 1 HD 1080p Videos, where you can feel the slowing down of the Videos. The Solution is moving to SSD Drive where I can run 2 or more HD 1080p Videos Simultaneously (Over Layered).
    Instead of investing in an SSD, i preferred buying the new MacBook Pro Retina Display (2.6GHz i7,8GB Ram, 512GB Flash memory). Everything about the new MacBook Pro should support my work and give me a better Performance. Unfortunately, I am not able to run ONLY 2 HD 1080 Videos to gather! The result is being Breakdance style video, like it's cutting and continuing the videos. Compared to my Old MacBook Pro (2.3GHz i7, 8GB RAM), on the old one the Video slows Down but does not Leg or Cut
    Is there a Solution for this issue? Or i simply did the Most useless investment of my life?
    PS: Both Running on OSX 10.7.4, and both are running on the Video Codecs and Visual Performance Software (Modul8 2.6.4)
    More Details: Video format is .MOV (Photo JPEG)
    If there is any more details you would need, please do let me know.
    Regards,
    VJ Mosig
    www.VJMosig.com

    This is not Apple Support, nor are they able to be contacted by e-mail.  This is a user to user forum, and we can try to help you as best as possible. Apple moderators can move your thread to a more appropriate forum if needed.
    A faster hard drive connection is available through your Thunderbolt port.  See what you can connect via Sonnet's adapter:
    http://www.sonnettech.com/product/echoexpresscard34thunderbolt.html
    An eSATA or Thunderbolt hard drive would probably be at least faster than the internal drive, and an external SSD may be cheaper than an internal for your notebook, and even faster.

  • How many install/restore disks should there be?

    Okay, in my MacBook box there is only 1 install/restore disk? I didn t bother to check before until now.

    Probably. Nevertheless...after I've unpacked everything i plan to read every piece of literature front to back.
    That doesn't mean you cannot be helpful here. People come here for help and most people here are pretty helpfule and curteious. Perhaps forums in the windows world are more casutic and you can project an attitude but this apple forum is reallly good because of the helpful people. Lets try to keep that going without copping an attitude.
    btw as noted the manual really doesn't say anything about two disks so telling the to RTFM is even more pointless.
    Mike
    Mini G5 PowerMac MacBook Mac SE   Mac OS X (10.4.6)  

  • How many people think it is robbery to be charged 16$ per line if your account is shut off for none payment?

    so even this forum does not work properly... Nothing here is simple.  I have many issues with Verizon.. 1. Why am I charged 16 per line if my account is shut off when I can't pay on time. I work full time and was a full time Nursing student... (VERY very busy)! We switched from alltel and there was a $40 charge per account.Yes that is right I pay late sometimes... KEY WORDS HERE>>>>  I PAY!   I feel like I am being robbed from. Does anyone else? How is this legal? I have only one account.. each phone is not a separate bill. 2. The automated phone service is so horrible and frustrating it makes me want to cry or scream. 3. Financial services closes at 9pm so I can't make payment arrangements when I have the time to do this.  Convenient for them since I have 4 lines that get charged 16 per line to be turned back on! 4. They charge so much why can't they pay for 24 hour staffing like some of the other companies? 5. I always pay what I owe. 6. I pay SOOOOO much, why don't they treat me like they appreciate my business????????  Just wow! 

    How is it legal. Because you did not fulfill your end of the contract, pay on time. 
    If late on a house payment there is a penalty. Late on a car payment a penalty. late on electricity, water or gas, ya run the chance of a shut off and to turn it back on, there will be an add'l charge. It costs VZW to suspend an account, keep the lines available for you when you do pay and to reactivate the lines.
    They do not shut it off the next day after being late unless there is a pattern. Usually, the first time a notice and service continues during the month. The next time 5 days after the bill was due...when the new billing cycle starts.
    Were you ever proactive and get with VZW BEFORE you were going to be late to let them know so arrangements could be made??? You are 1 of 93 million lines. Not one person there knows your situation.

  • How many mp3 on a cd

    how many songs at 32kbs should i be able to get on a cd?is it determined by the bit rate or minutes on each song.i tried 2 cd and only got about 20 songs on it.

    Do you mean an Audio CD or an MP3 CD?
    It will depend what you can play on your Harley.
    An Audio CD is limited to 80 minutes (regardless of bitrate, so keep it high) and an MP3 CD is limited to 700Mb (make a playlist of them and look at the bottom of the window to see what it takes up. Should be a couple of hundred.)
    In your preferences in iTunes, under Advanced -> Burning
    select what you need.

  • How many parallel servers should I use?

    Hello All,
    I am in 10g and would like to create table as select. I am using NOLOGGING and PARALLEL. I notice, as I go on increasing the number of parallel servers, I cost of my statement reduces.
    create table tmp_xyz NOLOGGING PARALLEL 12 as
    SELECT ...
    from ...
    value of PARALLEL_min_SERVERS and PARALLEL_MAX_SERVERS parallel servers is 0 and 240 respectively.
    I am doing this for a large data table migration; no user be working at the time.
    I wonder how many parallel processes I should use?
    Regards

    Mosaq wrote:
    I wonder how many parallel processes I should use? Each parallel process is used for doing I/O - the I/O load is what is parallelised. Each PX slave gets an I/O load (usually a rowid range that describes a range of physical row-on-disk addresses) to process.
    So your question boils down to what the I/O capacity is of the I/O subsystem on that server. And this is pretty unique to a server and depends on just how the I/O layer looks like.

  • How to cache the objects MANUALLY?

    hello
    some o-r mapping tools can cache the objects that have been queried,then next time these objects are required,it don't need to access the database again,it can also monitor the database updating.
    i wonder how i can implement such "cache" function MANUALLY? because i DON'T want to use ANY o-r mapping tools. i only use the jdbc to query database,then generate the object.
    who can give me some clue?? or articles? or sample codes??
    thank you!!!!!

    no you don't understand me,what i want to know is the
    mechanism of the cache,and how to implement it myself
    without using the o-r mapping tools.
    the dao pattern can encapsulate the database
    access,but it can NOT cache the object .First you need to define how the caching occurs.
    - Can the data in the database change without going through your code?
    - Are there multiple copies of your app running at the same time. If yes then what happens if one is updated?
    - How many of these can there be and what impact will this have on memory?
    - etc.
    You also need to identify the 'identity' of an object.
    A simple strategy....
    - Some layer requests an object using the 'identity'.
    - The database layer code looks in a hash for the 'identity'. If it finds it it returns it.
    - If it doesn't find it it uses a DAO to load it, then puts it in the hash, then returns it.

  • How many time transastion run in a day

    we have so many transastion of Z.
    Now I want to analyses these Z transastion. how many time run in a month.?
    How many time these  i.e Z  run in a day.
    thanks
    Moni

    I hope you will get lots of guideline for these two topic here. Whatever....
    SM19
    1. Be in Static configuration tab
    2. Click on create button
    3. Give a profile name and click continue
    4. put the client name and put *** in the user if you want to track all users (keep in mind that putting * will increase the log file size in a very quick time)
    5. Select all Audit classes
    6. Events should be All
    7. Most important is to Mark the "Filter Active" option at top left corner
    Save and click Yes when it prompts whether you want to Distribute the same settings in All Active ABAP Instances....
    Note: You should bounce the system after activating this. Until you do so, the logging will not be activated.
    SM20
    You can use this in various way. Please search for SM20 in the forum or SAP Library to get details of different activities you can perform with this.
    Let me know if you are fine with the explanation or have any more query.
    Regards,
    Dipanjan

  • How to compile invalid object after 10.2.0.2 to 10.2.0.5 upgrade in EBS R12

    Hi,
    We have total 31000 invalid object after 10.2.0.2 to 10.2.0.5 upgrade in EBS R12. How we compile these objects?

    Ashish,
    if you are seeing PLS-00801: internal error [1041] when trying to compile a package that is invalid, you may need to run utlirp.sql against the instance and then the utlrp.sql script. You need to pay attention to the manner in which you run these scripts. To run the utlirp.sql script you need to:
    shutdown the instance
    restart instance in upgrade mode
    startup upgrade
    run the utlirp.sql script @utlirp or @?/rdbms/admin/utlirp
    shutdown the instance and restart normally
    run utlrp.sql @utlrp or @?/rdbms/admin/utlrp
    If you are running an auto-config instance, you can source the db environment, optionally switch to the $ORACLE_HOME/rdbms/admin folder and shutdown the instance:
    sqlplus 'as /sysdba'
    shutdown immediate
    startup upgrade;
    @utilrp
    shutdown
    startup
    @utlrp
    After compiling everything, I would shutdown the instance using the ./addbctl stop script and then restart it. As stated elsewhere, it can take time to compile the invalids--many hours in some cases. The utlirp.sql script may run for quite awhile before it completes since it is invalidating objects.
    Please make sure you read up on utlirp.sql and PLS-00801 if that's what you are encountering.
    Riley

Maybe you are looking for