diff options
author | rinpatch <rinpatch@sdf.org> | 2019-11-30 10:39:48 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-11-30 10:39:48 +0000 |
commit | b21738d4c08b2f0d66944e3f74a15f3a3985b37a (patch) | |
tree | c5faf7902fe03adf83e110c1c538f656215de1f5 /benchmarks/load_testing/generator.ex | |
parent | a990374e80ece3d28ae23f603bd5e301886e6a0c (diff) | |
parent | 1d6970baf1fd09c357740a380351adf44f247279 (diff) | |
download | pleroma-b21738d4c08b2f0d66944e3f74a15f3a3985b37a.tar.gz pleroma-b21738d4c08b2f0d66944e3f74a15f3a3985b37a.zip |
Merge branch 'benchmarks/favourites_timeline' into 'develop'
Benchmarks: favourites timeline
See merge request pleroma/pleroma!2027
Diffstat (limited to 'benchmarks/load_testing/generator.ex')
-rw-r--r-- | benchmarks/load_testing/generator.ex | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/benchmarks/load_testing/generator.ex b/benchmarks/load_testing/generator.ex index b4432bdb7..f42fd363e 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) |