IB TWS: slow!, overloaded?

Discussion in 'Trading Software' started by Canoe007, Jan 19, 2011.

  1. Canoe007


    I'm new to IB and with my paper account have been configuring TWS over the past week and a half (yes, I got to watch aapl yesterday while in my paper account - configuration not fully tested and unsafe to trade...).

    I'm finding that the response to any clicks, even menus, is extremely slow. It got much worse after I added a chart to watch various Nasdaq securities (seven of them) auto-scaled on the same chart; now expanding the menu to show the hidden options takes eight to ten seconds! Dragging a chart around the desktop takes two to three seconds for the chart to physically catch up with the mouse.

    I'm running:

    * the main TWS window
    * the account window
    * two chart windows, three charts for one security in each window, with:
    • 1 minute chart in one time frame
    • 1 minute chart in another time frame
    • 1 sec line chart for ten minutes, with Chart Trader open, with chart trader enabled with eight custom buttons
    • all with Last, Bid and Ask in the margin, and showing trades on the chart
    • trendlines shared across charts
    • three MA indicators per chart, stochastic on one
    * two Book Trader windows with Level II, for the same securities as the tri-chart windows
    * a chart with seven Nasdaq securities auto-scaled (lines)

    • Is this too much of a load for TWS?
    • Any idea where the bottle neck is?
    • What can I do to speed this up?
    • Can I throw a faster CPU at this to improve platform response?

    Anyone with any ideas?

    I don't know where to look next.



    I'm running TWS download version, 613.6, Java 1.6.23.
    Extra software is shut off (skype, openoffice loader, etc.) so the bare minimum is running.

    Task Manager shows CPU usage ranges:
    core 0: 10% peaking 15%
    core 1: 20% peaking 25%
    core 2: 20% peaking 25%
    core 3: 25% peaking 35%

    Closing the seven-security auto-scaled chart results in core 3 dropping to 5% peaking 10%, with the others staying the same.

    Closing TWS results in all cores going idle to 0% peaking less than 1%.

    available memory typically 1.7g

    Core 2 Quad 9450
    4 gig DDR2
    XP pro 32bit
    gigga-bit lan
    four 1920x1200 monitors on a Nvidia 430 and a 8600GT (usually six monitors and another 8600GT, but it was stuck between the other 8600 and the case, got too hot and it blew)

    Cable modem, 7 mbs
    Netgear Dual Wan gigga-bit router, but with just Cable
  2. Bob111


    it shouldn't be that slow. i have few PC's with TWS-they all old slow dual core Athlon's with 2 Gb Ram and basic videcard. multiple instances of TWS runs just fine. try to run without charts,try stand alone version
  3. Canoe007


    I'm running the downloaded stand alone. Starts from desktop icon. Auto-update is turned off.

    Closing the seven-security chart improves things, but it is still noticeably slow. Scarily so.

    If I close the other two chart windows (total, six charts, three per security) then I've defeated the purpose I got TWS. Or is this a test to measure ? to help find a bottle neck?

    Data updates appear to be fine in the Level II.
    In the tri-chart windows, I notice the line chart will update with the latest Last Price from one to two seconds after the candles on the two candle charts.
  4. check to see how much memory you have allocated to each TWS window. this is determined by the shortcut link used to start TWS. The parameter is -Xmx512M or something similar. The 512 is 512Mb of memory. Change to 768 or 1024 and see if that makes any difference.
  5. Bob111


    check your PM
  6. Kirkx


    Forget about charts, Risk Navigator, and other fancy staff and just use TWS as a trading platform. Remember that it's Java based and Java is a memory and resource hog. Here is my setup:

    1) Main Trading Window: with dedicated tab w/o any quotes, this is the tab open by default. The symbols on all other tabs that are in the background are not updated, so there are no bandwidth/resources issues with those. Open the tab with symbols only when you need it and after that open the the empty tab again.

    2) BookTrader: if you don't use it and keep it on standby, select some symbol that doesn't update much, like INDU INDEX (or a a mutual fund, if you can).

    3) Trade Window (the one showing positions, P/L, etc).

    That's it.

    For charting I use SierraChart (because it's light on system resources and allows opening hundreds of charts in hundreds of chartbooks). Of course there is also NinjaTrader, InvestorRT, eSignal and other good charting packages.

    This way, with about 100 charts open, some of them set to tick data, the resources usage on my machine (Windows XP SP3) is about 30%, all this on an older PC with AMD Athlon processor and 4GB of RAM.
  7. Bob111


    or simply moving the mouse across the chart and your CPU usage will spike up to 100%

    i did report this issue several times. FEW YEARS AGO..
  8. Canoe007


    Thank you for all the quick responses!

    Other windows (like Task Manager) load fine.

    Here's one for the mix.

    Rearranged windows so the two tri-chart windows are both on the Nvidia 430 (one was on the 8600GT). Now the line charts are updating before the candle charts, which are lagging up to a quarter second behind the line chart.

    CPU after the move to the 430:
    core 0, 2 & 3 are under 10%, with core 3 having the occasional spike to 15%.
    core 1 is 20% with spikes to 25% & 30%.

    Maybe with all of the graphical items in the tri-chart chart windows, it's too much for the older Nvidia 8600GT? This is counter to the popular belief regarding graphic cards for trading...

    Will go check the other things now.

  9. Canoe007



    core 1 spiked to 90% and then 100% with mouse moving in circles...
    other cores remained the same

    methinks they're not multi-threading enough
  10. Canoe007


    It was 512 max and 128 max perm.
    Changed to 1024 and 512.

    Drag&drop on an order on-chart has far less lag than before, and core 1 jumps to 70%, but the market is closed now...

    Mouse circling over chart now pushes core 1 to ranges between 65% and 80%.

    Core 1 is down some, other cores are down a lot, but the market is now closed, so I'll have to wait to tomorrow to test it under load.

    I've got physical memory sitting unused. Any reason why I shouldn't up the max mem from 1024 to 1536?

    Thank all!
    #10     Jan 19, 2011