summaryrefslogtreecommitdiff
path: root/benchmarks/load_testing/generator.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-12-04 16:35:59 +0100
committerlain <lain@soykaf.club>2019-12-04 16:35:59 +0100
commite9993acdbbd1649bbcbf3fb36581b91145fe6055 (patch)
treeb78d91c904e307a504ed91a06ab718d8c694ca5c /benchmarks/load_testing/generator.ex
parent1bd1f62af55e01613e6362661b36a19091c87424 (diff)
parent228bf4d214abe3bb62c52128d3bc145e396b174d (diff)
downloadpleroma-e9993acdbbd1649bbcbf3fb36581b91145fe6055.tar.gz
pleroma-e9993acdbbd1649bbcbf3fb36581b91145fe6055.zip
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel
Diffstat (limited to 'benchmarks/load_testing/generator.ex')
-rw-r--r--benchmarks/load_testing/generator.ex19
1 files changed, 18 insertions, 1 deletions
diff --git a/benchmarks/load_testing/generator.ex b/benchmarks/load_testing/generator.ex
index b4432bdb7..a957e0ffb 100644
--- a/benchmarks/load_testing/generator.ex
+++ b/benchmarks/load_testing/generator.ex
@@ -2,6 +2,24 @@ defmodule Pleroma.LoadTesting.Generator do
use Pleroma.LoadTesting.Helper
alias Pleroma.Web.CommonAPI
+ def generate_like_activities(user, posts) do
+ count_likes = Kernel.trunc(length(posts) / 4)
+ IO.puts("Starting generating #{count_likes} like activities...")
+
+ {time, _} =
+ :timer.tc(fn ->
+ Task.async_stream(
+ Enum.take_random(posts, count_likes),
+ fn post -> {:ok, _, _} = CommonAPI.favorite(post.id, user) end,
+ max_concurrency: 10,
+ timeout: 30_000
+ )
+ |> Stream.run()
+ end)
+
+ IO.puts("Inserting like activities take #{to_sec(time)} sec.\n")
+ end
+
def generate_users(opts) do
IO.puts("Starting generating #{opts[:users_max]} users...")
{time, _} = :timer.tc(fn -> do_generate_users(opts) end)
@@ -31,7 +49,6 @@ defmodule Pleroma.LoadTesting.Generator do
password_hash:
"$pbkdf2-sha512$160000$bU.OSFI7H/yqWb5DPEqyjw$uKp/2rmXw12QqnRRTqTtuk2DTwZfF8VR4MYW2xMeIlqPR/UX1nT1CEKVUx2CowFMZ5JON8aDvURrZpJjSgqXrg",
bio: "Tester Number #{i}",
- info: %{},
local: remote
}