Super Python: three applications involving IRC bot master, MySQL optimization, and Website stress testing.

In my ongoing efforts to migrate my fun side projects and coding experiments from SVN to Git I’ve come across some of my favorite Python based apps – which are all available in their respective repos on BitBucket, as follows:

IRC Bot Commander

  • What it does: it’s an IRC bot that takes commands and does your bidding on whichever remote server the bot is installed on.
  • How it does it: the bot runs on whatever server you install it on, then it connects to the IRC server and channel you configured it to connect to and it waits for you to give it commands, then it execs the commands and returns the output to your IRC chat window.

MacroBase – MySQL Analytics

  • What it does: Offers advanced tuning reports via analysis of nearly all MySQL global variables + statistics and then generates a tuning report that tells you the optimal setting for different buffers, logs, etc. Think of it like the MySQL Tuning Primer but with far more reach. Think of it as the command line version of the reports that Kontrollbase outputs.
  • How it does it: in addition to connecting to MySQL and reading global variables and status (and information_schema) it connects to the OS’s SNMP daemon and analyzes system level metrics to use in the vast number of equations and formulas required for the report.

Site Strangler – HTTP Smash
High Level Feature List (note that this application can be controlled by IRC Commander if your bot runs on the management server)

  1. Highly scalable HTTP load generation application for simulating high traffic
  2. Allows geographically distributed nodes to simulate global user-base traffic
  3. Enhanced job management via inter-process queue system
  4. Encrypted node communication via direct SOCKET protocol w/ key exchange
  5. Optional randomized query string url generation – simulate dynamic calls
  6. Multi-threaded operation on server and client
  7. Performance data reporting for url connection timing
  8. Configurable options for controling total hit quantity across nodes
    • per-node thread concurrency
    • per-thread connect cycling
    • per-connection delay timing
    • optional randomized connection timing
Tagged , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>