Need Help in Logstash Performance Issue

Logstash 5.6.3
ubuntu16.04
JVM 1.8.0_144
4core 8GB RAM

config - input {
file {
path => "/var/log/XS.txt"
start_position => beginning
codec => multiline {
pattern => "^(?[0-9]+.[0-9]+.[0-9]+) %{TIME:date} %{WORD:TimeType} "
negate => true
what => previous
}
}
}

filter {
if ["Sip |", " INVITE"] in [message] or ["SipMedia |", " INVITE"] in [message] {
if "SIP/2.0 " in [message]
{
if " IN " in [message]
{
dissect {
mapping => {
message => "%{+Timestamp} %{+Timestamp} %{}Bytes %{Direction:} %{}SIP/2.0 %{Sip_Response} %{}<sip:%{SipToUser:}@%{}<sip:%{SipFromUser:}@%{}CSeq:%{} %{Response_For_Msg:}Content-Length:%{}via:%{} %{ServerName:};%{}"
}
}
}
else if " OUT " in [message]
{
dissect {
mapping => {
message => "%{+Timestamp} %{+Timestamp} %{}Bytes %{Direction:} %{}SIP/2.0 %{Sip_Response} %{}<sip:%
{SipFromUser:}@%{}<sip:%{SipToUser:}@%{}CSeq:%{} %{Response_For_Msg:}:%{}"
}
}
}
else
{ drop{} }
}
else if " IN " in [message]
{
dissect {
mapping => {
message => "%{+Timestamp} %{+Timestamp} %{}Bytes %{Direction:} %{}<sip:%{SipToUser:}@%{}<sip:%{SipFromUser:}@%{}CSeq:%{} %{Response_For_Msg:}:%{}via:%{} %{ServerName:};%{}"
}
}
}
else if " OUT " in [message]
{
dissect {
mapping => {
message => "%{+Timestamp} %{+Timestamp} %{}Bytes %{Direction:} %{}<sip:%{SipFromUser:}@%{}<sip:%{SipToUser:}@%{}CSeq:%{} %{Response_For_Msg:}:%{}"
}
}
}

           else{
              drop{}
           }
        }
     }