My company has recently begun using demandware, however we are finding it slightly odd that instant site updates are not possible, whether through a cache clear or server updates, at the moment our servers update every 24 hours, so effectively any changes we make one day won't go live until the following day. In demandware is there anything that can be done so we can instantly see new updates to our site or perhaps a server update occurring every hour?
Thank you
What is that change that you want to be instant as update on production?
Why it should be instant, even if the site is over heavy load at the moment?
There are various ways you can achieve quicker updates (remote includes with different caching, integration feeds targeted on production, cache segmentation, etc.), still I need more details about what exactly you are trying to do to suggest you appropriate solution.
Also your question is better suited in Demandware XChange portal, not in Stack Overflow, as this is site for programming, and your question is not a programming one.
Unfortunately, there is no way to make instant changes on Demandware. you can however makes changes that will be reflected on the site within 15 mintues. To do this, you will need to be logged in to production.
There are typically three instances that you can make changes; development, staging and production. If you are seeing the changes come through after 24 hours then you are most certainly logged in to the staging instance, where changes are replicated over to production at a designated time.
What you'll need to do is login to production and make the required update. Then, clear your site cache to make the change visible on the live site. You will then need to wait on average 15 minutes for the data centres to dump their cache and serve a new copy of the site.
To clear the site cache:
1) Navigate to Administration > Manage Sites
2) Select the relevant brand/region
3) Click the Cache tab
4) Click the first "Invalidate" button
For clearing cache..
You need to go to Administration -> Manage Sites -> Select the site -> Click Cache tab and then click on Invalidate Cache.
..
This initialises the cache invalidation process which usually takes some time but not an entire day.
..
Please check if there are any other caching mechanisms added for your sites.
Usually, Invalidating cache works just fine.
Related
I have an application build in ColdFusion MVC framework "Mach-II" and hosted on blue dragon ColdFusion server.
It causes caching issue. When i added a new page with some contents and load the page than it's working fine. But when i made some changes in the same file and hit it again its not update my changes. Its always showing me the content that i have made in the very first time. Its seems like that the server is caching my page and did not consider further changes. I have tried many solutions but failed to solve the problem.
Please let me know if you have any solution for that.
This is a bit too long for a comment - but it's not much of an answer.
First off, your question is quite broad for StackOverflow. If you aren't looking at the code yourself, and have nothing to show us, there is no guarantee we can help you at all.
It sounds like maybe this service is using query caching - which looks something like this.
<cfquery datasource="CRM" name="testQuery" cachedwithin="#CreateTimeSpan(0,0,30,0)#">
-SQL logic-
</cfquery>
Basically it stores a query's result in memory on the server. It can really help reduce strain on the database. It's possible that they've set a time limit on this caching feature that's longer than you'd like.
If you don't have access to the code, THIS is the issue you want to ask about first.
Edit: It may be entirely different.
https://docs.oracle.com/cd/E13176_01/bluedragon/621/BlueDragon_621_WL_User_Guide.html#_Toc121303111
From source:
Where ColdFusion (5 and MX) defines a ‘template cache” as a place to
holds templates in memory once rendered from source code, BlueDragon
has the same notion but refers to this as the “file cache”. In both
engines, a template once rendered from source will remain in the cache
until the server (or J2EE or .NET web app) is restarted.
The cache size, specified in the Admin Console, indicates how many of
these cached templates to keep. It defaults to 60 but that number may
need to change for your application, depending on how many CFML
templates your application uses. One entry is used for each template
(CFM or CFC file) requested.
It’s very important to understand that this is not caching the OUTPUT
of the page but rather the rendering of the template from source into
its internal objects. One cached instance of the template is shared
among all users in the application.
As in ColdFusion, once the file cache is full (for instance, you set
it to 60 and 60 templates have been requested), then the next request
for a template not yet cached will force the engine to flush the
oldest (least recently used) entry in the cache to make room.
Naturally, if you set this file cache size too low, thrashing in the
cache could occur as room is made for files only to soon have the
flushed file requested again.
It sounds like you might have to either restart the ColdFusion application or clear the Template Cache in the CFAdmin.
In the past, when I checked the site speed in google page speed or many similar tools, the site got very high scores (good css & js optimize). I installed the Advanced CSS/JS Aggregation module and boost module to get high score.
Then, suddenly, I started to get message on the google page speed (and other tools), saying my server response time is slow - around 3 seconds.
My site built with Drupal 7 and hosted on Bluehost Shared hosting.
Bluehost technical support says that the problem is not in their side
What do you think causing the server to be slow?
How can I fix it?
Or at least, what should I check (images, caching, something else)?
The first thing to figure out is what's a desirable response time. For example, if you have lots of modules and pretty heavy site/homepage then maybe 3 seconds is ok unless something is done to change the processing time(caching, using less modules etc).
Back to your case of where should i check:
Check, your homepage and what views and other things are loading for your homepage to be rendered. Then make a list and go one by one to ask:
Is it optimal/can it be improved? maybe something is throwing the caching out(dynamic parameters be injected by each request for the item etc).
If you're using views, enable the sql view to see what sql statements its using and you can use tools to analyze/improve it(this could be a question by itself)
Look at the modules that load/being used to make sure you need them.
Check on the drupal caching(/admin/config/development/performance) and make sure the correct checkboxes are checked.
This could as well be blue host's problem because if they're hosting so many sites on the server, the server will start kicking some sites out of memory and load them back as they're requested by the visitors hence the slow load(server requests the site, drupal loads it from database etc).
You can ask specific questions after you check those.
Firefox has a powerful feature in which it caches DNS lookups to improve speed.
I have a situation where this is causing more problem then it is fixing. I manage a website and we recently migrated our site to a new, upgraded server. This server has a different public IP address. We updated our DNS records and everything is correct, but some customers using FireFox are reporting that they are still seeing the "site under construction" page we put up on the old server before the migration. I was running into this problem as well.
The only fix I found that worked was to flush the browser cache, selecting "Everything" from the dropdown, and then closing the browser and re-launching. That works, but it's not a "solution" when you consider that we're dealing with customers all across the country, many of whom are not computer literate, and most of them don't even take the time to let us know that they are experiencing a problem. We are losing business because customers who don't know any better see a "site under construction" message and move on, probably spending their money on some other site.
There needs to be some sort of way to tell FireFox that its cache for this site is outdated and it needs to update. But I have no idea how to do that (or if it's even possible) and I can't find any information about it. Every "solution" to this problem involves flushing the browser cache. Again, that works, but it's a reactive solution when someone happens to call in to support. We need a proactive solution.
Any ideas?
Maybe there's no way for you to remote visitors FirFox, cuz it's not safe for the users.
The best way is to alert the visitors on the old site that they should refresh the DNS cache. Find the option in firefox for "Clear Recent History" and then select everything and check all the boxes under details.
The 2nd way is using this add-on: https://addons.mozilla.org/en-US/firefox/addon/dns-cache/
The 3rd way,
type about:config in Firefox’s address bar
acknowledge the warning that appears next
find an entry called network.dnsCacheExpiration and set it’s value to 0
if there’s no such entry, create a new integer item with the name above and a value of 0
now go back and change the value to 3600
I'm having intermittent 503 errors, out of the blue, on a Magento install. Occasionally the page will half load, without JS or CSS, or sometimes the images will not load, but the rest of it will.
I'm running 1.5 magento, and no settings have been changed before it started going awry.
My hosting guys (it's on shared hosting) have said:
Basically every time someone hits the site, you spawn about 10 - 20+
connections for every hit to:
/media/catalog/product/cache/1/....
For example:
/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/2/0/200_2_series-max.jpg
And this is maxing out the capacity. I've disabled cache, and the problem persists. Is there a way I can check why this is happening, or am I at the whim of my hosting chaps.
Thanks in advance.
Not the cache you've disabled, turn that back on as it only causes more severe system loading as everything that would normally be cached has to be recompiled on every request.
/media/catalog/product/cache/1/
This is the image cache. Your system is being overloaded serving out images to your customers. Therefore your server is probably suboptimal and not able to properly handle the loads being placed on it. Typical symptom on a shared hosting plan when attempting to run Magento, this typically causes your website to fall flat on its face the first time Bing, Yahoo and Google decide to simultaneously index your website.
The first thing to do when you start noticing the website to get boggy is to go into "Customer - Online Customers" and see how many Magento reports are online. Sort by IP and see who's hogging resources and take that ip over to Bots VS Browsers to see if it's a known web indexer. The next step is to get your Web Server Access log and start viewing what's being requested to make sure you don't have some script kiddie on your site trying to break it.
One way of eliminating your image loading problem is to go over to Amazon Web Services, sign up for CloudFront and serve your images out through this CDN. Basically it serves as a proxy system so your images only get requested on the initial view and then get served out through CloudFront. Your server still probably is going to have problems with overloading, but it won't be image serving that causes most of it.
Your "shared hosting guys" guys don't have the decency to tell you that they're not capable of hosting a Magento installation for you. This,
you spawn about 10 - 20+ connections for every hit to:
/media/catalog/product/cache/1/....
while I'm sure describes something they've uncovered, doesn't accurately describe it.
Whatever the specifics of the problem you're running into are, the servers your on right now are designed to host a different type of application. You'll continue to run into problems. Move to a host that supports Magento.
I have developed application using ZF.The app is little big with a lots of features.
I use Zend_Application(already using autoloader in constructor),Zend_Layout,Zend_view,Zend_form,etc. My current issue is, the page loading is very slow and that too in localhost with XAMP.
I have enabled xdebug, to investigate the issue, got a cachegrind file in "tmp" folder and tried to view it with WinCachegrind software. There i can a see a lot of processes and functions being run for each and every request or page load.
Also, i have installed YSlow add-on for firefox and observed the speed of page loads in seconds...I have compare the speed with ZF and non ZF applications. And from the comparison, the pages for non zf app takes less than 1 sec to load and for the ZF app, it takes atleast 6-7 seconds. What a huge difference.
Main Things happen in the app are :
1) Database connection happens for each request.
2) Im not adding the view to layout explicitly,ZF just appends it automatically, to layout.phtml, based on the action name.
3) Some windows have forms with few drop down boxes which fetches data from the database.
4) Have menus with ACL implimented, before it was loading the privilges from DB for each and every request, but now i have optimized it, so that it will work only duiring the login and rest of the time it will take from the Zend_Registry.
I would like to attach the cachegrind file so that some one can see whats happening in the background, but i cant see an option here for attaching.
Someone please help me to find a solution for this. Any kind of help is really appreciated. Thanks a lot
Let's try to give some hints.
First database connection should happen only once (except if you use several privileges access on the database or several databases). So check that you use Singleton patterns with you Zend_Db_Tables object
Then you do not use Zend_Cache. You should really start to use Zend_Cache and build several cache objects. Let's say for example a File cach, with long term storage, and a memcache or Apc Cache, storing objects. Then use these cache in several layers:
gives the FileCache to Zend_Db_Table (defaultMetaDataCache), this way you will avoid a loot of metadata queries, queries that ask for description of each columns of the tables you use.
Store one or more Acl object (depends on how you use Acl, if you have one big Acl with all rules or several with subsets). And store them in mid-duration caches when they are built.
Think of other usages, detect heavy loops, semi-static contents (like you select lists, how many time should they be considered static?)
Finally, get a whole mental image of how your application engine works, and how your data will grow and be used.You will need that step to use application levels caches in the very best way (for example should some elements be cached for groups of users?, should Acl objects be build for groups, for each user, for everybody, is ther some blocks in the layout that should be rendered the same for everybody?).