Files
techircd/stress_config.json

310 lines
7.9 KiB
JSON

{
"server": {
"host": "localhost",
"port": 6667,
"ssl": false,
"ssl_port": 6697,
"nick_prefix": "StressBot",
"auto_join_channels": ["#test", "#general"]
},
"log_level": "INFO",
"scenarios": [
{
"name": "Basic Connection Test",
"description": "Test basic connection and registration",
"client_count": 10,
"duration": 30,
"connect_gradually": false,
"disconnect_gradually": true,
"disconnect_delay": 0.2,
"delay_after": 5,
"activities": []
},
{
"name": "Mass Connection Stress",
"description": "Stress test with many simultaneous connections",
"client_count": 50,
"duration": 60,
"connect_gradually": false,
"disconnect_gradually": false,
"delay_after": 5,
"activities": [
{
"type": "channel_flood",
"channel": "#test",
"message_count": 20,
"delay": 2.0
}
]
},
{
"name": "Gradual Connection Test",
"description": "Test gradual connection buildup",
"client_count": 30,
"duration": 45,
"connect_gradually": true,
"connect_delay": 0.1,
"disconnect_gradually": true,
"disconnect_delay": 0.1,
"delay_after": 3,
"activities": [
{
"type": "private_flood",
"message_count": 15,
"delay": 3.0
}
]
},
{
"name": "Heavy Activity Test",
"description": "Test server under heavy message load",
"client_count": 25,
"duration": 90,
"connect_gradually": false,
"disconnect_gradually": false,
"delay_after": 5,
"activities": [
{
"type": "channel_flood",
"channel": "#test",
"message_count": 30,
"delay": 1.0
},
{
"type": "private_flood",
"message_count": 20,
"delay": 1.5
},
{
"type": "join_part_spam",
"iterations": 10,
"channels": ["#spam1", "#spam2", "#spam3"],
"delay": 2.0
},
{
"type": "random_commands",
"command_count": 15,
"commands": ["WHO #test", "LIST", "VERSION", "WHOIS StressBot0001"],
"delay": 2.5
}
]
},
{
"name": "Nick Change Spam",
"description": "Test rapid nick changes",
"client_count": 15,
"duration": 30,
"connect_gradually": false,
"disconnect_gradually": false,
"delay_after": 3,
"activities": [
{
"type": "nick_change_spam",
"iterations": 20,
"delay": 1.0
}
]
},
{
"name": "Channel Chaos Test",
"description": "Rapid JOIN/PART with message flooding",
"client_count": 20,
"duration": 60,
"connect_gradually": true,
"connect_delay": 0.05,
"disconnect_gradually": true,
"disconnect_delay": 0.05,
"delay_after": 5,
"activities": [
{
"type": "join_part_spam",
"iterations": 25,
"channels": ["#chaos1", "#chaos2", "#chaos3", "#chaos4"],
"delay": 0.5
},
{
"type": "channel_flood",
"channel": "#chaos1",
"message_count": 40,
"delay": 1.0
}
]
},
{
"name": "Maximum Load Test",
"description": "Push server to maximum capacity",
"client_count": 100,
"duration": 120,
"connect_gradually": true,
"connect_delay": 0.02,
"disconnect_gradually": true,
"disconnect_delay": 0.01,
"delay_after": 10,
"activities": [
{
"type": "channel_flood",
"channel": "#maxload",
"message_count": 50,
"delay": 0.8
},
{
"type": "private_flood",
"message_count": 30,
"delay": 1.2
},
{
"type": "join_part_spam",
"iterations": 15,
"channels": ["#load1", "#load2", "#load3", "#load4", "#load5"],
"delay": 1.5
},
{
"type": "random_commands",
"command_count": 25,
"commands": ["WHO #maxload", "LIST", "VERSION", "WHOIS StressBot0050", "NAMES #load1"],
"delay": 2.0
}
]
},
{
"name": "EXTREME: Mass Connection Bomb",
"description": "BRUTAL: 200+ connections at once",
"client_count": 200,
"duration": 120,
"connect_gradually": false,
"disconnect_gradually": false,
"delay_after": 10,
"activities": [
{
"type": "channel_flood",
"channel": "#massacre",
"message_count": 50,
"delay": 0.1
},
{
"type": "private_flood",
"message_count": 30,
"delay": 0.2
}
]
},
{
"name": "EXTREME: Rapid Fire Connections",
"description": "BRUTAL: Connect 150 clients as fast as possible",
"client_count": 150,
"duration": 60,
"connect_gradually": true,
"connect_delay": 0.001,
"disconnect_gradually": true,
"disconnect_delay": 0.001,
"delay_after": 5,
"activities": [
{
"type": "channel_flood",
"channel": "#rapidfire",
"message_count": 100,
"delay": 0.05
}
]
},
{
"name": "EXTREME: Message Hurricane",
"description": "BRUTAL: Maximum message throughput test",
"client_count": 80,
"duration": 180,
"connect_gradually": false,
"disconnect_gradually": false,
"delay_after": 10,
"activities": [
{
"type": "channel_flood",
"channel": "#hurricane",
"message_count": 200,
"delay": 0.01
},
{
"type": "private_flood",
"message_count": 150,
"delay": 0.02
},
{
"type": "join_part_spam",
"iterations": 50,
"channels": ["#chaos1", "#chaos2", "#chaos3", "#chaos4", "#chaos5"],
"delay": 0.1
},
{
"type": "random_commands",
"command_count": 100,
"commands": ["WHO #hurricane", "LIST", "VERSION", "TIME", "ADMIN", "INFO"],
"delay": 0.05
}
]
},
{
"name": "EXTREME: Connection Chaos",
"description": "BRUTAL: Rapid connect/disconnect cycles",
"client_count": 100,
"duration": 90,
"connect_gradually": true,
"connect_delay": 0.01,
"disconnect_gradually": true,
"disconnect_delay": 0.01,
"delay_after": 5,
"activities": [
{
"type": "nick_spam",
"iterations": 20,
"delay": 0.1
},
{
"type": "channel_flood",
"channel": "#chaos",
"message_count": 75,
"delay": 0.1
}
]
},
{
"name": "EXTREME: The Nuclear Option",
"description": "ULTIMATE BRUTAL: Everything at maximum intensity",
"client_count": 300,
"duration": 300,
"connect_gradually": true,
"connect_delay": 0.002,
"disconnect_gradually": false,
"delay_after": 15,
"activities": [
{
"type": "channel_flood",
"channel": "#nuclear",
"message_count": 500,
"delay": 0.005
},
{
"type": "private_flood",
"message_count": 300,
"delay": 0.01
},
{
"type": "join_part_spam",
"iterations": 100,
"channels": ["#nuke1", "#nuke2", "#nuke3", "#nuke4", "#nuke5", "#nuke6", "#nuke7", "#nuke8"],
"delay": 0.02
},
{
"type": "nick_spam",
"iterations": 50,
"delay": 0.03
},
{
"type": "random_commands",
"command_count": 200,
"commands": ["WHO #nuclear", "LIST", "VERSION", "TIME", "ADMIN", "INFO", "LUSERS"],
"delay": 0.01
}
]
}
]
}