summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex S <alex.strizhakov@gmail.com>2019-09-06 16:37:18 +0300
committerAlex S <alex.strizhakov@gmail.com>2019-09-06 16:37:18 +0300
commit252e5db45c5d9d63116e5a24cc35c26f91ec7de4 (patch)
tree9ae0c8d18cf40f50b2d03665d25bb83c124af50d /lib
parenta1125bd5644a5819d1cfbbc8f6b3bb2dadbbc38a (diff)
downloadpleroma-252e5db45c5d9d63116e5a24cc35c26f91ec7de4.tar.gz
pleroma-252e5db45c5d9d63116e5a24cc35c26f91ec7de4.zip
docs fixes
Diffstat (limited to 'lib')
-rw-r--r--lib/load_testing/fetcher.ex9
-rw-r--r--lib/load_testing/generator.ex3
-rw-r--r--lib/mix/tasks/pleroma/load_testing.ex16
3 files changed, 13 insertions, 15 deletions
diff --git a/lib/load_testing/fetcher.ex b/lib/load_testing/fetcher.ex
index 825f921e6..b92b6e04f 100644
--- a/lib/load_testing/fetcher.ex
+++ b/lib/load_testing/fetcher.ex
@@ -2,8 +2,6 @@ defmodule Pleroma.LoadTesting.Fetcher do
use Pleroma.LoadTesting.Helper
def fetch_user(user) do
- IO.puts("=================================")
-
Benchee.run(%{
"By id" => fn -> Repo.get_by(User, id: user.id) end,
"By ap_id" => fn -> Repo.get_by(User, ap_id: user.ap_id) end,
@@ -13,8 +11,6 @@ defmodule Pleroma.LoadTesting.Fetcher do
end
def query_timelines(user) do
- IO.puts("\n=================================")
-
home_timeline_params = %{
"count" => 20,
"with_muted" => true,
@@ -102,7 +98,6 @@ defmodule Pleroma.LoadTesting.Fetcher do
end
def query_notifications(user) do
- IO.puts("\n=================================")
without_muted_params = %{"count" => "20", "with_muted" => "false"}
with_muted_params = %{"count" => "20", "with_muted" => "true"}
@@ -138,8 +133,6 @@ defmodule Pleroma.LoadTesting.Fetcher do
end
def query_dms(user) do
- IO.puts("\n=================================")
-
params = %{
"count" => "20",
"with_muted" => "true",
@@ -187,8 +180,6 @@ defmodule Pleroma.LoadTesting.Fetcher do
end
def query_long_thread(user, activity) do
- IO.puts("\n=================================")
-
Benchee.run(%{
"Fetch main post" => fn ->
Pleroma.Activity.get_by_id_with_object(activity.id)
diff --git a/lib/load_testing/generator.ex b/lib/load_testing/generator.ex
index 6df518aba..7ad68dcc1 100644
--- a/lib/load_testing/generator.ex
+++ b/lib/load_testing/generator.ex
@@ -28,7 +28,8 @@ defmodule Pleroma.LoadTesting.Generator do
nickname: "nick#{i}",
password_hash: Comeonin.Pbkdf2.hashpwsalt("test"),
bio: "Tester Number #{i}",
- info: %{}
+ info: %{},
+ local: Enum.random([true, false])
}
user = %{
diff --git a/lib/mix/tasks/pleroma/load_testing.ex b/lib/mix/tasks/pleroma/load_testing.ex
index 83e531abf..4fed6bf74 100644
--- a/lib/mix/tasks/pleroma/load_testing.ex
+++ b/lib/mix/tasks/pleroma/load_testing.ex
@@ -5,19 +5,23 @@ defmodule Mix.Tasks.Pleroma.LoadTesting do
import Pleroma.LoadTesting.Generator
import Pleroma.LoadTesting.Fetcher
- # tODO: remove autovacuum worker until generation is not ended
@shortdoc "Factory for generation data"
@moduledoc """
Generates data like:
- users
- activities with notifications
+ - direct messages
+ - long thread
+ - non visible posts
## Generate data
- MIX_ENV=benchmark mix pleroma.load_testing --users 10000
- MIX_ENV=benchmark mix pleroma.load_testing -u 10000
+ MIX_ENV=benchmark mix pleroma.load_testing --users 20000 --dms 20000 --thread_length 2000
+ MIX_ENV=benchmark mix pleroma.load_testing -u 20000 -d 20000 -t 2000
Options:
- - `--users NUMBER` - number of users to generate (default: 10000)
+ - `--users NUMBER` - number of users to generate. Defaults to: 20000. Alias: `-u`
+ - `--dms NUMBER` - number of direct messages to generate. Defaults to: 20000. Alias `-d`
+ - `--thread_length` - number of messages in thread. Defaults to: 2000. ALias `-t`
"""
@aliases [u: :users, d: :dms, t: :thread_length]
@@ -32,6 +36,7 @@ defmodule Mix.Tasks.Pleroma.LoadTesting do
def run(args) do
start_pleroma()
+ Pleroma.Config.put([:instance, :skip_thread_containment], true)
{opts, _} = OptionParser.parse!(args, strict: @switches, aliases: @aliases)
users_max = Keyword.get(opts, :users, @users_default)
@@ -95,11 +100,12 @@ defmodule Mix.Tasks.Pleroma.LoadTesting do
query_notifications(user)
query_dms(user)
query_long_thread(user, activity)
+ Pleroma.Config.put([:instance, :skip_thread_containment], false)
query_timelines(user)
end
defp clean_tables do
- IO.puts("\n\nDeleting old data...\n")
+ IO.puts("Deleting old data...\n")
Ecto.Adapters.SQL.query!(Repo, "TRUNCATE users CASCADE;")
Ecto.Adapters.SQL.query!(Repo, "TRUNCATE activities CASCADE;")
Ecto.Adapters.SQL.query!(Repo, "TRUNCATE objects CASCADE;")