Quick study of MII Server utilization. We have two servers running MII applicaiton. This report contains data for one server only

Initial steps include: 1. Setting up working directory 2. Clearning memory 3. Loading data into R

# setting working directory and removing all objects from memory
setwd("C:/Users/singhvp/OneDrive - Kennametal Inc- 2/R/MII")
rm(list=ls())
library(lubridate)
package ‘lubridate’ was built under R version 3.2.5
Attaching package: ‘lubridate’

The following object is masked from ‘package:base’:

    date
# reading data files from 3 different sites
df = read.csv("ChartData.csv", header=TRUE, stringsAsFactors = FALSE)

In next step, we would like to take a sneek peak of what this data looks like We can do that by running str() and summary() functions

str(df)
'data.frame':   904 obs. of  3 variables:
 $ Date: chr  "4-Oct-16" "4-Oct-16" "4-Oct-16" "4-Oct-16" ...
 $ Time: chr  "12:00 AM" "1:00 AM" "2:00 AM" "3:00 AM" ...
 $ Uti : num  75.5 76.2 76.4 76.1 76 ...
summary(df)
     Date               Time                Uti       
 Length:904         Length:904         Min.   :13.07  
 Class :character   Class :character   1st Qu.:40.77  
 Mode  :character   Mode  :character   Median :76.21  
                                       Mean   :59.29  
                                       3rd Qu.:78.08  
                                       Max.   :81.79  

Looking at data frame df, we know we need to convert Date to right format and break the data into two chunks - before upgrade and after upgrade

Mr. Barry informed upgrade happened on Oct 23, 2016. So we will divide data in two chunks, one before the upgrade and another after upgrade to analyze them separately

df$Date = as.Date(df$Date, "%d-%b-%y")
df$Uti = round(df[,'Uti'],1) # to limit decimal values
df1 = subset(df, df$Date > "2016-10-23")
df2 = subset(df, df$Date <= "2016-10-23")

To ensure if Dates are formatted properly, we will run str() again

str(df)
'data.frame':   904 obs. of  3 variables:
 $ Date: Date, format: "2016-10-04" "2016-10-04" "2016-10-04" "2016-10-04" ...
 $ Time: chr  "12:00 AM" "1:00 AM" "2:00 AM" "3:00 AM" ...
 $ Uti : num  75.5 76.2 76.4 76.1 76 76 76 76.1 76.2 76.4 ...

Now the data is in right format, lets analyze if we see improvement in server utilization

Before upgrade:

boxplot(df2$Uti, axes = FALSE, staplewax = 1, outline = FALSE)
text(y=boxplot.stats(df2$Uti)$stats, labels=boxplot.stats(df2$Uti)$stats, x = 1.25)

After Upgrade

So we see a significant decrease in memory utilization after we doubled the server capacity. This is good news for all production sites using MII

LS0tDQp0aXRsZTogIk1JSSBTZXJ2ZXIgVXRpbGl6YXRpb24iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpRdWljayBzdHVkeSBvZiBNSUkgU2VydmVyIHV0aWxpemF0aW9uLg0KV2UgaGF2ZSB0d28gc2VydmVycyBydW5uaW5nIE1JSSBhcHBsaWNhaXRvbi4gVGhpcyByZXBvcnQgY29udGFpbnMgZGF0YSBmb3Igb25lIHNlcnZlciBvbmx5DQoNCkluaXRpYWwgc3RlcHMgaW5jbHVkZToNCjEuIFNldHRpbmcgdXAgd29ya2luZyBkaXJlY3RvcnkNCjIuIENsZWFybmluZyBtZW1vcnkNCjMuIExvYWRpbmcgZGF0YSBpbnRvIFINCg0KYGBge3J9DQojIHNldHRpbmcgd29ya2luZyBkaXJlY3RvcnkgYW5kIHJlbW92aW5nIGFsbCBvYmplY3RzIGZyb20gbWVtb3J5DQpzZXR3ZCgiQzovVXNlcnMvc2luZ2h2cC9PbmVEcml2ZSAtIEtlbm5hbWV0YWwgSW5jLSAyL1IvTUlJIikNCnJtKGxpc3Q9bHMoKSkNCmxpYnJhcnkobHVicmlkYXRlKQ0KDQojIHJlYWRpbmcgZGF0YSBmaWxlcyBmcm9tIDMgZGlmZmVyZW50IHNpdGVzDQpkZiA9IHJlYWQuY3N2KCJDaGFydERhdGEuY3N2IiwgaGVhZGVyPVRSVUUsIHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkNCmBgYA0KDQpJbiBuZXh0IHN0ZXAsIHdlIHdvdWxkIGxpa2UgdG8gdGFrZSBhIHNuZWVrIHBlYWsgb2Ygd2hhdCB0aGlzIGRhdGEgbG9va3MgbGlrZQ0KV2UgY2FuIGRvIHRoYXQgYnkgcnVubmluZyAqc3RyKCkqIGFuZCAqc3VtbWFyeSgpKiBmdW5jdGlvbnMNCg0KYGBge3J9DQpzdHIoZGYpDQpzdW1tYXJ5KGRmKQ0KYGBgDQoNCkxvb2tpbmcgYXQgZGF0YSBmcmFtZSAqZGYqLCB3ZSBrbm93IHdlIG5lZWQgdG8gY29udmVydCBEYXRlIHRvIHJpZ2h0IGZvcm1hdCBhbmQgYnJlYWsgdGhlIGRhdGEgaW50byB0d28gY2h1bmtzIC0gYmVmb3JlIHVwZ3JhZGUgYW5kIGFmdGVyIHVwZ3JhZGUNCg0KTXIuIEJhcnJ5IGluZm9ybWVkIHVwZ3JhZGUgaGFwcGVuZWQgb24gT2N0IDIzLCAyMDE2LiBTbyB3ZSB3aWxsIGRpdmlkZSBkYXRhIGluIHR3byBjaHVua3MsIG9uZSBiZWZvcmUgdGhlIHVwZ3JhZGUgYW5kIGFub3RoZXIgYWZ0ZXIgdXBncmFkZSB0byBhbmFseXplIHRoZW0gc2VwYXJhdGVseQ0KDQpgYGB7cn0NCg0KZGYkRGF0ZSA9IGFzLkRhdGUoZGYkRGF0ZSwgIiVkLSViLSV5IikNCmRmJFV0aSA9IHJvdW5kKGRmWywnVXRpJ10sMSkgIyB0byBsaW1pdCBkZWNpbWFsIHZhbHVlcw0KZGYxID0gc3Vic2V0KGRmLCBkZiREYXRlID4gIjIwMTYtMTAtMjMiKQ0KZGYyID0gc3Vic2V0KGRmLCBkZiREYXRlIDw9ICIyMDE2LTEwLTIzIikNCg0KYGBgDQoNClRvIGVuc3VyZSBpZiBEYXRlcyBhcmUgZm9ybWF0dGVkIHByb3Blcmx5LCB3ZSB3aWxsIHJ1biAqc3RyKCkqIGFnYWluDQoNCmBgYHtyfQ0Kc3RyKGRmKQ0KYGBgDQoNCk5vdyB0aGUgZGF0YSBpcyBpbiByaWdodCBmb3JtYXQsIGxldHMgYW5hbHl6ZSBpZiB3ZSBzZWUgaW1wcm92ZW1lbnQgaW4gc2VydmVyIHV0aWxpemF0aW9uDQoNCkJlZm9yZSB1cGdyYWRlOg0KYGBge3J9DQoNCmJveHBsb3QoZGYyJFV0aSwgYXhlcyA9IEZBTFNFLCBzdGFwbGV3YXggPSAxLCBvdXRsaW5lID0gRkFMU0UpDQp0ZXh0KHk9Ym94cGxvdC5zdGF0cyhkZjIkVXRpKSRzdGF0cywgbGFiZWxzPWJveHBsb3Quc3RhdHMoZGYyJFV0aSkkc3RhdHMsIHggPSAxLjI1KQ0KYGBgDQpBZnRlciBVcGdyYWRlDQpgYGB7cn0NCmJveHBsb3QoZGYxJFV0aSwgYXhlcyA9IEZBTFNFLCBzdGFwbGV3YXggPSAxLCBvdXRsaW5lID0gRkFMU0UpDQp0ZXh0KHk9Ym94cGxvdC5zdGF0cyhkZjEkVXRpKSRzdGF0cywgbGFiZWxzPWJveHBsb3Quc3RhdHMoZGYxJFV0aSkkc3RhdHMsIHggPSAxLjI1KQ0KYGBgDQoNClNvIHdlIHNlZSBhIHNpZ25pZmljYW50IGRlY3JlYXNlIGluIG1lbW9yeSB1dGlsaXphdGlvbiBhZnRlciB3ZSBkb3VibGVkIHRoZSBzZXJ2ZXIgY2FwYWNpdHkuIFRoaXMgaXMgZ29vZCBuZXdzIGZvciBhbGwgcHJvZHVjdGlvbiBzaXRlcyB1c2luZyBNSUk=