The processes graph section looks deeper into the major individual services which make up the GitHub Enterprise appliance. Looking at these services individually can show how usage trends impact system resources over time.
Process counts will fluctuate with usage trends.
Thelongpollprocess will often have the highest average, with more peaks and valleys reflecting daily web UI usage trends.
Theunicornandresqueprocess groups normally consume the highest amount of memory, followed bymemcached,mysql, andelasticsearch.
resqued,babeld, andgit-daemonprocesses are most influenced by user activity.
Elements such the size of repositories interacted with and frequency of requests. Because of this, these process graphs can have peaks and valleys.
CPU time consumed by processes accessing hardware directly, via trusted lower level operating system functions.
Theunicornprocess normally consumes the most CPU time.
Often has lower values than the following CPU (Application) graph.
CPU time consumed by processes via Linux kernel interfaces.
The majority of GitHub Enterprise service CPU time occurs here.
On busy systems,unicornconsumes the most CPU time, followed bybabeld,git,git-daemon, andresque.
I/O operations (Read IOPS)
git-daemon, andbabeldread Input/Output Operations Per Second (IOPS) values are influenced by Git fetch / pull activity.
unicornread IOPS are influenced by web application or APIGETrequests.
resqueread IOPS are from background jobs, such as regular repository maintenance and repacking.
I/O operations (Write IOPS)
git-daemonwrite IOPS reflect Git push activity and is most often the largest consumer of write IOPS.
resquebackground jobs, such as search indexing, and repository repacking are also be a large consumer of write IOPS
Storage traffic (Read)
Read throughput trends are a counterpart to Read IOPS. These values used together can help determine if storage system read performance is as expected.
User activity such as fetching, and retrieving API data will result in read activity.
Storage traffic (Written)
Write throughput trends are a counterpart to Write IOPS. These values used together can help determine if storage system read performance is as expected.
Pushes, background repacks, and APIPOSToperations are often the largest influencers of this graph.
Continue the conversation
There's more to come in the "Understanding your graphs" mini-series. If you'd like to follow along, subscribe to the"Understanding your graphs" label. Please let us know if you have any questions in the comments!