I wanted to check with others who have experience with working with a fairly large number of persistent objects in ORM if using ORMReload() is supposed to be slow. When I say slow, I mean 30+ seconds at times. And when I say large number, in my case I have around 250 persistent CFCs with many relationships between them. Because I'm still figuring things out and making a bunch of changes, I have to call ORMReload() fairly often, and it takes a while to run. Sometimes the app times out, and I've gotten the "Another CacheManager with same name already exists in the same VM" error. Sometimes I end up restarting ColdFusion to get rid of the error. I wouldn't be surprised if it does take that long to run this, but I was wondering if there could be anything specific that makes things slow or any way to speed it up while in development. FYI, the reason I have this many CFCs to start with is that I'm converting an existing app, so I did some code generation to get a bunch of CFCs already somewhat configured and then I can tweak them as I go along. Maybe the best thing would be to slowly add them manually instead so at least at the beginning when I have only a handful of CFCs things will be fast?
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/cf-orm-dev/-/cFc504oX3mcJ.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cf-orm-dev?hl=en.
Are you using, this.ormsettings.cfclocation to make sure only the "entity" cfcs are indexed, also adding this.ormsettings.dialect = "MicrosoftSQLServer" will speed it up a tiny bit, but probably not very much.Do you cfcs also mention the column names for joins or do you let CF find the foreign keys set?Also 250 cfcs is a lot, so even just to do a directory search and read the meta data is going a bit of time to run.- John
On 22 May 2012 14:51, Thomas Messier wrote:
SQL Server
On Tue, May 22, 2012 at 9:49 AM, Dan Vega wrote:
What db are you using?
Thank You
Dan Vega
http://www.danvega.org/
On Tue, May 22, 2012 at 9:46 AM, Thomas Messier wrote:
I wanted to check with others who have experience with working with a fairly large number of persistent objects in ORM if using ORMReload() is supposed to be slow. When I say slow, I mean 30+ seconds at times. And when I say large number, in my case I have around 250 persistent CFCs with many relationships between them. Because I'm still figuring things out and making a bunch of changes, I have to call ORMReload() fairly often, and it takes a while to run. Sometimes the app times out, and I've gotten the "Another CacheManager with same name already exists in the same VM" error. Sometimes I end up restarting ColdFusion to get rid of the error. I wouldn't be surprised if it does take that long to run this, but I was wondering if there could be anything specific that makes things slow or any way to speed it up while in development. FYI, the reason I have this many CFCs to start with is that I'm converting an existing app, so I did some code generation to get a bunch of CFCs already somewhat configured and then I can tweak them as I go along. Maybe the best thing would be to slowly add them manually instead so at least at the beginning when I have only a handful of CFCs things will be fast?
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/cf-orm-dev/-/cFc504oX3mcJ.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cf-orm-dev?hl=en.
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
Thomas,I had a similar situation...about 200 entities in a 1,200 table database. The slowdown was caused mainly by this setting in ormsettings:useDBForMappingWhen true that will first get metadata about all tables which takes time. We set that to false and made sure each property had an ormtype and the ormreload time is down to 2-4 seconds.Cheers,Sam
On Tue, May 22, 2012 at 8:51 AM, Thomas Messier wrote:
SQL Server
On Tue, May 22, 2012 at 9:49 AM, Dan Vega wrote:
What db are you using?
Thank You
Dan Vega
http://www.danvega.org/
On Tue, May 22, 2012 at 9:46 AM, Thomas Messier wrote:
I wanted to check with others who have experience with working with a fairly large number of persistent objects in ORM if using ORMReload() is supposed to be slow. When I say slow, I mean 30+ seconds at times. And when I say large number, in my case I have around 250 persistent CFCs with many relationships between them. Because I'm still figuring things out and making a bunch of changes, I have to call ORMReload() fairly often, and it takes a while to run. Sometimes the app times out, and I've gotten the "Another CacheManager with same name already exists in the same VM" error. Sometimes I end up restarting ColdFusion to get rid of the error. I wouldn't be surprised if it does take that long to run this, but I was wondering if there could be anything specific that makes things slow or any way to speed it up while in development. FYI, the reason I have this many CFCs to start with is that I'm converting an existing app, so I did some code generation to get a bunch of CFCs already somewhat configured and then I can tweak them as I go along. Maybe the best thing would be to slowly add them manually instead so at least at the beginning when I have only a handful of CFCs things will be fast?
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/cf-orm-dev/-/cFc504oX3mcJ.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cf-orm-dev?hl=en.
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "cf-orm-dev" group.
To post to this group, send email to cf-or...@googlegroups.com.
To unsubscribe from this group, send email to cf-orm-dev+unsubscribe@googlegroups.com.
Sometimes the app times out, and I've gotten the "Another CacheManager with same name already exists in the same VM" error.
Thomas,
did you measure whether the biggest impact came from the
useDBForMapping setting, or from the addition of ormType?
Marc
> cf-orm-dev+unsubscribe@googlegroups.com.
Wes
A HUGE thank you to Sam Farmer.
On an OrmReload or application restart, my 60 table/persistent cfc database was taking over 5 minutes to load. In fact, I had to add cfsetting requesttimeout="20000" for it to work at all.
All of my orm persistent cfcs already specified each of the orm types. There are no relationships specified, because ColdFusion orm does not support how our relationships are set up [we do not use the primary key, but a ColdFusion UUID plus a boolean Active]
Wasn't aware of the useDBForMapping setting, which evidently defaults to true.
When I added useDBForMapping = false to my Application.cfc, WHAM, my load now takes less than a minute.
Again, many thanks to everyone in this thread.