Home |
Search |
Today's Posts |
#2
![]()
Posted to microsoft.public.excel.interopoledde,microsoft.public.excel.programming
|
|||
|
|||
![]()
If you are running 20 instances of Excel at one time on a PC that's an awful
lot of memory and processor power you'll need. You could try: 1. Running excel without any add-ins and clean up the memory footprint, that might help. 2. Binding the different instances of the DDE servers and Excel instances to different cores (you'll need to work out how best to handle this - is it best to keep the excel instance on the same chip / core or on another - I don't know) 3. Hooking your DDE feeds into an Excel RTD solution - should remove the need to have 20 excel instances but may prove to be time consuming - a VB/C++/c# based solution rather than VBA. 4. Switching the "servers" to run with screen updating off / interactive off 5. Examine the equations - are your DDE feeds causing lots of recalculations? How are the 40,000 row equations constructed? There's a document on MSDN about the excel calculation model - have a read of it and that may give you some tips. But, I think you need to look at redesigning the solution. Having 40,000 rows of calculations based on real time data is going to hit any excel instance very hard, but having 20 excel instances that are getting hit hard will cause the PC to run like a sloth. Hope that gives you a few pointers in the right direction... -- www.alignment-systems.com "Robert ap Rhys" wrote: Hi, I have a real-time system pumping out DDE feeds from a manufacturing process into Excel. Calculations are done on the input (up to 40000 rows) and this analysis is used to feed back to production managers. Originally, this was a single feed into a single Excel workbook. However, I now have to accommodate up to 20 feeds. Due to Excel's internal limits on data, I have found that each feed must go into its own instance of Excel. In order to consolidate the feeds I have a single 'loader' instance of Excel which creates, via COM/OLE, up to 20 out-of-process server instances of Excel. The 'loader' can then respond to events in the servers and provides a single point of feedback. Unfortunately, using Excel 2003 and Windows XP Pro, on a top of the range machine (quad core, 4 GB RAM), I'm running out of resources after running about 8 servers. Since I can run 20 /independent/ instances of the server workbooks quite easily, I'm thinking that the problem is with COM bottlenecks, though the feedback communication between the servers and the client is only amounting to maybe 80 events in total per working day. Is there anything I can do or am I going to have to re-architect? Your thoughts would be appreciated. Robert |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Saving hyperlinks that connect multiple servers | Excel Discussion (Misc queries) | |||
use shared workbooks on Web servers | Excel Discussion (Misc queries) | |||
Where're the good newgroups servers? | New Users to Excel | |||
Where're the good newgroups servers? | Excel Worksheet Functions | |||
Getting Data from Web Servers and Application Servers | Excel Programming |