I have a page with numerous embedded Draw.io diagrams that takes a little over one minute to fully load. I am specifically using Draw.io because I want to be able to layer colour swatches with interactive text that allows users to right-click and copy, like in a PDF. Because Confluence limits the number of colours that may be used within internal features, I've relied on external applications to achieve this, which in this case was Draw.io. It works exactly as I had intended, but the load time makes this page more tedious to access than useful.
I understand that the number of embedded objects directly relates to the load time of the page, but does there exist another application that would allow me to achieve this more efficiently, or is there a way to speed this up?
Third-party apps, like draw.io, are loaded in iFrames, which means there's no caching between each iFrame.
draw.io diagrams are saved as page attachments. Try copying the page and replace the drawio macros with the PNGs that are also created as page attachments, does that speed things up?
Welcome to the Community!
There are broadly three places you can look for improving page loads in Confluence.
1. The first, and most powerful, is simplification.
Exactly as you say, "the number of embedded objects directly relates to the load time". You simply cannot improve this with applications inside the system - someone asking for a page is asking for the content to be delivered, and that means calling all the stuff to read the objects to deliver it, and then, when being rendered, all the complexity you might put in a page needs to be dealt with by the browser.
If a page is as slow as a minute to load, you're got way too much going on. Simplify it. Split the page up. Strip out extraneous "clever" stuff you have added. Do your users really need it to be that pretty? Could you simplify it? And explain to your people that "this page is not as pretty as you want, but because it's just... got... so... much... on it, it doesn't work well with the pretty".
2. The server might be slow
We could talk about the server characteristics (memory, disk type/speed, database connections, cpu, caching in the application, etc), but you said "Cloud" so you can't do anything about those, you've got "software as a service"
3. The network might be slow
If you're using a system that's geographically close to you, then check your network settings and that you've got a half-way decent connection to that area. Again, as you've said Cloud, there's not much you can do, but if you are actually on Server/DC, then external caching can be a real help - I've got two clients who managed a 99% reduction in "it's slow" complaints by enabling a CDN for their Confluence DC system.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For the first point, isnt this the idea of confluence?
So you can add page properties reports, add diagrams that describe a function and all this fancy stuff?
Otherwise i could use a text editor as well.
We have the same problem with draw io
Would it help, if all the different draw io objects were from one draw io file and i would be just embedding the different draw io pages in the confluence page?
Would the resolution of the draw io object make a difference?
On the other hand, the solution to split the page is working fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Confluence is intended to be used as a wiki, not a data dump of huge amounts of information people will probably never wade through to find what they're looking for.
Yes, it has a lot of prettified functions, but the target audience is mostly people who want specific highly-focussed information and are unlikely to read a page that they have to scroll down more than a couple of times.
You'll have the same problem with a text-editor generated page - put too much stuff on it, and it's going to render slower. And you don't get the diagrams, macros, fancy formatting and so on without having to encode it all manually. It would be slightly quicker to render if you wrote plain HTML (Confluence has to generate it when someone asks for a page), but the volume would still defeat you, and writing HTML manually is slow and error prone, even in HTML editors
I don't know about draw.io using a single diagram - I don't know if Confluence is set up to cache them.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ok, good point
I think less information will work wonders.
Thanks for your answer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The better way to optimize this should be to split the page in smaller part in multiple pages.
You can also try to increase the ram allowed to confluence it can help.
I think there also a possibilité of increase the value of the cache. I remember seeing this in a confluence KB somewhere but I can't find it anymore!
Hope this help!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.