Posts

Showing posts with the label confluence

Stories about detecting in my Atlassian Confluence instance bottlenecks with APM tool [part 2]

Image
  Gonchik, a lover of APM (application performance monitoring) tools, in particular Glowroot, is in touch. This is the second story related to observing Confluence with Glowroot. (First is   here ) Often, analysis is helped by looking for patterns such as time of complaints and correlation with application response time graphs, especially in percentiles, which gives an understanding and clarity of what is happening with a small volume of requests. By switching to slow traces mode in the Glowroot dashboard, you can take a closer look at the behavior of the system.   and also in the specified screenshot, I observed the following behavior:   All this prompted me to view the schedule of batch operations, for example, the time when the backup process was started. First of all, I checked in the web interface ({CONFLUENCE_URL} /admin/scheduledjobs/viewscheduledjobs.action) and disabled backups in xml at the application level. You can also see the launch history, and, in pri...

Stories about detecting Atlassian Confluence bottlenecks with APM tool [part 1]

Image
  Hey! Gonchik, a lover of APM (application performance monitoring) tools, in particular Glowroot, is in touch. Today I will tell you how to find bottlenecks in Confluence On-Prem in the shortest possible time based on one industrial installation. We are faced with a situation where a large number of people simultaneously break into the knowledge base on Confluence On-Prem (during the certification), and the Confluence dies for some time. We immediately thought that the problem is precisely in the simultaneous number of visitors and we can immediately tweak the JVM, but it turned out that not everything is so simple. Below I will tell you how we found the real cause of the brakes and how we dealt with it. The main task: to conduct an audit and, on its basis, achieve performance improvements, especially in times of a large number of active users in the system. Of course, first of all, the hardware resources and OS configurations were checked, where no problems were identified. Howev...

Истории о том, как с помощью APM инструмента найти узкие места в Atlassian Confluence

Image
  Привет!  На связи Гончик, любитель APM (application performance monitoring) инструментов, в частности Glowroot .  Сегодня расскажу о том, как за кратчайшее время найти узкие места в Confluence On-Prem на основе одной промышленной инсталляции.  Мы столкнулись с ситуацией, когда большое количество людей одновременно ломится в базу знаний на Confluence On-Prem (во время сдачи аттестации), и конфлюенс умирает на какое-то время. Сразу подумали, что проблема именно в одновременном количестве посетителей и сразу можно затюнить JVM, но оказалось, что не все так однозначно. Ниже расскажу, как мы нашли реальную причину тормозов и как с ней справились. Основная задача: провести аудит и на его основе добиться улучшения производительности, особенно в моменты большого количества активных пользователей в системе.  Конечно, в первую очередь были проверены ап паратные ресурсы, конфигурации ОС, где никаких проблем не выявлено.  Однако, отсутствовали access логи nginx, поск...

Story about on-premise installation should be reviewed on OS level?

Image
  Hello,  Today I would like to share a small story about the performance improvement of Confluence for one large company. They used that installation for more than 3.2k requests per minute based on the daily stats from frontend reverse proxy logs. The architecture of that is quite simple based on the reverse proxy (nginx),  Confluence app (tomcat), PostgreSQL as RDMS.  All those services work on CentOS 7.  On Confluence in (Tomcat logs and application logs), nothing informative logs were.  So in dmesg I found quite simple information about SYN flood on the Confluence app side. Of course, it’s quite crazy to see that situation in an organisation in  2020 ’s. # dmesg | tail [  734.711105] systemd[1]: Started Journal Service. [1140053.637848] FS-Cache: Loaded [1140053.662442] FS-Cache: Netfs 'cifs' registered for caching [1140053.662535] Key type cifs.spnego registered [1140053.662538] Key type cifs.idmap registered [1140053.662889] Unable to determ...

What I will do if I am a new in Confluence?

Image
  Hi community, This small article is to imagine what I will do if I am new for Confluence. In summary, these theses the main one. 1. Don't worry! 2. Experiments 3. Don't worry and repeat Well, let's start 1. New user needs to know about the site, personal and archived spaces. This is an awesome  article - mission.   2. After that play on his personal space, because you are the owner for your small world in the bigger world of Confluence instance.   Space Permissions overview 3. And the last one is the  macro overview Well, and the last option for a new person is the so helpful add-on (app). That's  c onfluence source editor 3.1. After install this app, you can see this button "<>" 3.2. After that you will confluence xhtml format as CMS system like WordPress, Drupal, Joomla etc.   3.3. For what do I need that possibility? Of course, troubleshooting, automatisation and faster change specific value in one page. One of this info located is...

Confluence: How to programmatically clean versions of page with python for Confluence?

Image
  Hi   Atlassian community ,  It is one of the steps  from my routine work for Confluence administration for internal and customer facings installations as well.  Also, previous articles you can find here  1 ,  2 .   For continuous cleanup,  I use  atlassian-python-api  and  Atlassian Bamboo . Also, it is very easy to automate it and extend functionality. My use case was cleaning after a lot of programmatically created and updated pages after long time using. e.g. After cleanup, your page load metrics will be better, also, disk usage of Lucene indexes and DB usage.   Well, let's start.  1. Remove page version based on 2 different methods for Cloud and on-Premises releases: def remove_content_history(self, page_id, version_number): """ Remove content history. It works as experimental method :param page_id: :param version_number: version number :return: ...