To all the python masters out there :: Python Execution Time Optimization using multi-threading.
I have a python script which takes a list of 1000 IP from a file and does port monitoring 3389 and 22 respectively using the os module of python . It is taking as of now 40 minutes to run.
The requirement is to run the same scripted input within 10 minutes.
I have tried multi threading but the output is not sequential so I am not able to ingest...
Can we consider using socket packages and using the correct "try except" and timeout for filtering, which may be faster? Alternatively, asynchrony can be used, but most importantly, each event must have a timestamp
1. It's not really a Splunk question - it's about your Python scripting.
2. What do you mean by "the output is not sequential so I'm not able to ingest"? You have timestamps on the events so Splunk should be able to line up the events properly.
3. You can't beat maths. You do the checks sequentially, have some percentage of "dead" hosts and have relatively long default TCP SYN timeout - it's bound to take some time. You could try adjusting your timeouts to make it fail faster.