一直在摆弄一个Python脚本,该脚本将从apache日志中获取POST,GET请求,并根据从apache日志发现的请求对网站进行压力测试已有一段时间了。
我几乎可以从日志文件中获取请求并解析它们并将其转换为CSV文件,并在此处提供一些帮助 - https://lincolnloop.com/blog/load-testing-jmeter-part-3-replaying-apache-logs/
但是现在我被卡住了 - 我还没有找到一个好的压力测试员来接受这些请求并对他们进行压力测试。 Jmeter没有削减它,因为仍然需要使用GUI,并且没有好处,因为目的是拥有简单易用的Python脚本。当然任何模块都可以。
如果有人有任何好的想法或一些代码要分享,那将非常感激!
谢谢,祝你有个美好的一天! :)
约翰
答案 0 :(得分:1)
Python是否必须用于您的用例?如果没有,您可以尝试Apache JMeter免费和开源的基于Java的负载和性能测试解决方案。
它提供Access Log Sampler,这似乎正是您正在寻找的。有关详细演练,请参阅How to use Access Log Sampler to Generate Traffic with JMeter。
替代选项正在使用Grinder和Apache Log Playback script。在这种情况下,您将能够将其与现有的Python代码集成,但仍然需要Java。
答案 1 :(得分:0)
Locust
python框架允许加载和压力测试。
他们网站上的一个例子:
from locust import HttpLocust, TaskSet, task
class WebsiteTasks(TaskSet):
def on_start(self):
self.client.post("/login", {
"username": "test_user",
"password": ""
})
@task
def index(self):
self.client.get("/")
@task
def about(self):
self.client.get("/about/")
class WebsiteUser(HttpLocust):
task_set = WebsiteTasks
min_wait = 5000
max_wait = 15000
在此处阅读更多内容:http://locust.io/