如何模拟DDOS/Slashdotting?

发布于 2024-10-24 20:27:54 字数 109 浏览 5 评论 0原文

因此,我希望获得更多使用高流量网站的经验,但不幸的是,互联网并没有打开我博客的大门。

如何在我的博客上模拟每秒数十/数百次点击并测试其性能?我在共享服务器上使用 SSH 帐户托管我的博客。

So, I'd like to get more experience working with high-traffic websites, but unfortunately the Internet is not beating down the doors to my blog.

How can I simulate tens/hundreds of hits per second on my blog and test its performance? I'm hosting my blog with an SSH account on a shared server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

捂风挽笑 2024-10-31 20:27:54

您可以使用以下工具向服务器发送大量请求:

第一个,ab,只允许您向单个 URL 发送大量请求——这对于对单个脚本/页面进行基准测试非常有用;但不反映用户浏览您网站的真实模式(例如,CSS/JS/图像未加载)。

第二个,siege,将允许您向文本文件中指定的 URL 列表发送请求 - 正确构建该 URL 列表(有一个代理)将为您带来一些好处测试还不错。

第三个,JMeter,将允许您创建更复杂的场景。

那个更复杂,您需要一些时间来使用它 - 但这可能会给您带来最好的结果。

You can send lots of requests to your server, using tools such as :

The first one, ab, will only allow you to send lots of a requests to a single URL -- which is great to benchmark a single script / page ; but doesn't reflect the real pattern of a user browsing your website (CSS/JS/images don't get loaded, for example).

The second one, siege, will allow you to send requests to a list of URLs, specified in a text file -- building that list of URLs properly (there is a proxy for that) will get you some not too bad tests.

And the third one, JMeter, will allow you to create more complex scenarios.

That one is more complex, and you'll need a bit of time to use it -- but that's probably what will get you the best results.

柳絮泡泡 2024-10-31 20:27:54

HTTP(S) 基准测试工具、测试/调试以及restAPI (RESTful)

按字母顺序排列(不喜欢)

HTTP(S) 基准测试工具

用于测试/调试 HTTP(S) 和 RestAPI (RESTful) 的工具包

SaaS/PaaS

  • BlazeMeter – 提供跨企业测试自动化框架适用于整个产品开发生命周期的整个技术团队(开发人员、开发人员、运维人员和 QA)。对 API、移动应用程序和网站进行连续或“按需”测试。从云端、本地或作为混合解决方案运行。与 JMeter 和 JMeter 一起使用Selenium WebDriver 和与您现有的 CI、CD 和应用程序集成APM 工具。
  • NewRelic – 开发人员、运营商和软件公司使用软件分析工具套件来了解如何您的应用程序在开发和生产中的表现
  • NGINX Amplify – 直观地识别性能瓶颈,服务器过载或潜在的 DDoS 攻击。通过智能建议和建议改进和优化 NGINX 性能。当您的申请交付出现问题时收到警报。规划 Web 应用程序的容量和性能。跟踪运行 NGINX 的系统 1

链接

来源:https://github.com/denji/awesome-http-benchmark

HTTP(S) benchmark tools, testing/debugging, & restAPI (RESTful)

Located in alphabetical order (not prefer)

HTTP(S) Benchmark Tools

  • ab – slow and single threaded, written in C

  • apib – most of the features of ApacheBench (ab), also designed as a more modern replacement, written in C

  • baloo – Expressive end-to-end HTTP API testing made easy, written in Go (golang)

  • baton – HTTP load testing, written in Go (golang)

  • bombardier – Fast crossplatform HTTP benchmarking tool, written in Go (golang)

  • curl-loader – performance loading of various application services and traffic generation, written in C

  • fasthttploader – benchmark (kinda ab) with autoadjustment and charts based on fasthttp library, write in Go (golang)

  • fortio – load testing library and command line tool and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats, write in Go (golang)

  • gatling – High performance load testing framework based on Scala, Akka and Netty, write in Scala

  • go-wrk – a HTTP benchmarking tool based in spirit on the excellent wrk tool (wg/wrk), write in Go (golang)

  • goad – Goad is an AWS Lambda powered, highly distributed, load testing tool, write in Go (golang)

  • gobench – HTTP/HTTPS load testing and benchmarking tool, write in Go (golang)

  • gohttpbenchab-like benchmark tool run on multi-core cpu, write in Go (golang)

  • hey – HTTP(S) load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom, written in Go (golang)

  • htstress – multithreading high-load bechmarking services (>5K rps), written in C/Linux

  • httperf – difficult configuration, slow and single threaded, written in C

  • inundator – A simple and high-throughput HTTP flood program, written in C/Linux

  • jmeter – Apache JMeter™, pure application designed to load test performance both on static and dynamic resources, written in Java

  • locust – easy-to-use, distributed load testing tool with real-time web UI. Simulates a swarm of concurrent users, the behavior of each of them is defined by your python code. Written in Python

  • mgun – A modern tool for load testing HTTP servers, written in Go (golang)

  • pounce – evented, but results fluctuate, it's sometimes faster than htstress, written in C

  • siege – slow and single threaded, written in C

  • slapper – Simple load testing tool with real-time updated histogram of request timings, written in Go (golang)

  • slow_cooker – A load tester focused on lifecycle issues and long-running tests, service with a predictable load and concurrency level for a long period of time, written in Go (golang)

  • sniper – powerful & high-performance http load tester, written in Go (golang)

  • tsung – Simulate stress users in order to test the scalability and performance of IP based client/server applications HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers, written in Erlang

  • vegeta – HTTP load testing tool and library, written in Go (golang)

  • weighttp – multithreaded, but slower than htstress without keepalive, written in C

  • wrk – multithreaded~~, but doesn't offer concurrent connections and a keepalive switch~~, written in C/Lua

  • wrk2 – constant throughput, correct latency recording variant of wrk, written in C/Lua

      Concurrent connections are enabled with:
        -c, --connections <N>  Connections to keep open
      And keepalive (which is default) can be disabled using:
        -H "Connection: close"
    
  • yandex-tank – Load and performance benchmark tool, written in Python/C|C++|Asm (phantom)

Toolkit for testing/debugging HTTP(S) and restAPI (RESTful)

  • bat – Go implement CLI, cURL-like tool for humans, written in Go (golang)
  • curl – Powerful features command-line tool for transferring data specified with URL syntax, written in C
  • curlconverter – convert curl commands to python, javascript, php
  • httpie – client, user-friendly curl replacement with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, written in Python
  • jq – is a lightweight and flexible command-line JSON processor, written in C

SaaS/PaaS

  • BlazeMeter – offers a cross-enterprise test automation framework for the entire technical team (developers, devops, ops and QA) throughout the product development lifecycle. Run continuous or ‘on demand’ testing for APIs, mobile apps and websites. Run from the cloud, on-premise or as a hybrid solution. Use with JMeter & Selenium WebDriver & integrate with your existing CI, CD & APM tools.
  • NewRelic – software analytics tool suite used by developers, ops, and software companies to understand how your applications are performing in development and production
  • NGINX Amplify – Visually identify performance bottlenecks, overloaded servers, or potential DDoS attacks. Improve and optimize NGINX performance with intelligent advice and recommendations. Get alerts when something is wrong with the delivery of your application. Plan capacity and performance for web applications. Keep track of systems running NGINX 1

Links

SOURCE: https://github.com/denji/awesome-http-benchmark

杀手六號 2024-10-31 20:27:54

除了像 ab 这样明显的工具之外,您可能还想看看 tsung - 一个 erlang 之类的东西基于负载测试生成器。一个很好的功能是它能够执行分布式负载测试(即将流量生成分散到多台机器上)。

Apart from the obvious tools like ab, you might want to take a look at something like tsung - an erlang based load test generator. One nice feature is it's ability to perform distributed load tests (that is, splitting the traffic generation over a number of machines).

温馨耳语 2024-10-31 20:27:54

我使用 jmeter 对我的 Web 应用程序进行负载测试。它可能会满足您的需求。

http://jmeter.apache.org/

I use jmeter to the load test my web applications. It might do what you are looking for.

http://jmeter.apache.org/

自此以后,行同陌路 2024-10-31 20:27:54

Apache Bench 简单明了。有大量教程

Apache Bench is easy and straightforward. There are plenty of tutorials.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文