I have following setup in my load balancing environment.
CMS Server -> Read/Write Database
Front Server1 -> Read Only Database
Front Server2 -> Read Only Database
Now, we have kept one schedule on front servers to refresh content/cache at 5 min after any change occurred in database of front end server.
Also, we are not publishing on front end hence index files are not getting generated. So what we did is, we have kept replication from
CMS server to Front End Servers (App_Data/TEMP/ExamineIndexes/) so that all updated index files are properly placed on front server.
Now issue is, sometimes index files are getting locked (i guess but not sure) and due to that my some of pages are not getting rendered properly. So temporary what we do is, we just copy index files from CMS and paste it to Front server and issue gets resolved.
Is there any permanent solution to this? Please help on this.
How are you doing the scheduled refresh of cache? If you are load balanced as per the docs then when you publish on your master the slaves will also publish and each publish will also result in item going into the index.
Looks to me as though you are sharing the one index (shared drive ??) If you are then the index will file lock.
Actually, we have load balancing environment but we don't share same database. We share separate database between Front server and CMS server.
So as and when any changes occurs in CMS server, it gets automatically shipped to Front server DB.
Now, in scheduler, we are checking if any changes then refresh cache using ' umbraco.library.RefreshContent()' method.
Regarding index files, we don't have any shared drive. All index files are shipping from CMS server to Front Server using replication. Most of times, everything is working fine. But very few times when we browse any page which contains images, at time it throws exception of Index files. To resolve this, we again copy CMS server's index files to Frond server and issue gets resolved.
If you have master slave setup and in master config you setup slaves then you publish on one the others will be notifed so no need to run your own scheduler. Your setup does not look like any official docs loaf balancing setup?
Can above scenario possible in load balancing?
If yes then how can we give proper path of shared folder?
If we do this, will it create any issue on Front Server/Website?
Can you please suggest solution if it creates any issue on front server?
Examine Index - Load balancing issue
Hi,
I have following setup in my load balancing environment.
CMS Server -> Read/Write Database
Front Server1 -> Read Only Database
Front Server2 -> Read Only Database
Now, we have kept one schedule on front servers to refresh content/cache at 5 min after any change occurred in database of front end server.
Also, we are not publishing on front end hence index files are not getting generated. So what we did is, we have kept replication from CMS server to Front End Servers (App_Data/TEMP/ExamineIndexes/) so that all updated index files are properly placed on front server.
Now issue is, sometimes index files are getting locked (i guess but not sure) and due to that my some of pages are not getting rendered properly. So temporary what we do is, we just copy index files from CMS and paste it to Front server and issue gets resolved.
Is there any permanent solution to this? Please help on this.
Thanks, Dhiren
Dhiren,
How are you doing the scheduled refresh of cache? If you are load balanced as per the docs then when you publish on your master the slaves will also publish and each publish will also result in item going into the index.
Looks to me as though you are sharing the one index (shared drive ??) If you are then the index will file lock.
Regards
Ismail
Hi Ismail,
Actually, we have load balancing environment but we don't share same database. We share separate database between Front server and CMS server. So as and when any changes occurs in CMS server, it gets automatically shipped to Front server DB.
Now, in scheduler, we are checking if any changes then refresh cache using ' umbraco.library.RefreshContent()' method.
Regarding index files, we don't have any shared drive. All index files are shipping from CMS server to Front Server using replication. Most of times, everything is working fine. But very few times when we browse any page which contains images, at time it throws exception of Index files. To resolve this, we again copy CMS server's index files to Frond server and issue gets resolved.
Hope i am able to answer your query.
Thanks, Dhiren
Dhiren,
If you have master slave setup and in master config you setup slaves then you publish on one the others will be notifed so no need to run your own scheduler. Your setup does not look like any official docs loaf balancing setup?
Regards
Ismail
Hi Ismail,
Thanks for your reply.
I agree that it is not same as official load balancing setup, but due to client's limitation we have to do setup as mentioned above.
Do you have any solution to above situation? (We cannot follow exact load balancing setup given in umbraco forum.)
Thanks,
Dhiren
In our case, can we use shared paths for indexes?
Example:
Backoffice Server -> ExamineIndex folders (This will be shared folder)
Front Server1 -> ExamineIndex.config file => IndexPath => 'set backoffice server's examineindex folder path'
Front Server2 -> ExamineIndex.config file => IndexPath => 'set backoffice server's examineindex folder path'
Can above scenario possible in load balancing? If yes then how can we give proper path of shared folder? If we do this, will it create any issue on Front Server/Website? Can you please suggest solution if it creates any issue on front server?
Thanks
is working on a reply...