Я добавляю узлы (10 узлов), но результат стресса Кассандра медленнее, чем один узел? - PullRequest
0 голосов
/ 19 июня 2019
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address          Load       Tokens       Owns (effective)  Host ID                               Rack
UN  192.168.170.128  317.66 MiB  256          62.4%             45e953bd-5cca-44d9-ba26-99e0db28398d  rack1
UN  192.168.170.129  527.05 MiB  256          60.2%             e0d2faec-9714-49cf-af71-bfe2f2fb0783  rack1
UN  192.168.170.130  669.08 MiB  256          60.6%             eaa1e39b-2256-4821-bbc8-39e47debf5e8  rack1
UN  192.168.170.132  537.11 MiB  256          60.0%             126e151f-92bc-4197-8007-247e385be0a6  rack1
UN  192.168.170.133  417.6 MiB  256          56.8%             2eb9dd83-ab44-456c-be69-6cead1b5d1fd  rack1
Datacenter: dc2
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address          Load       Tokens       Owns (effective)  Host ID                               Rack
UN  192.168.170.136  386.12 MiB  256          41.0%             2e57fac6-95db-4dc3-88f7-936cd8038cac  rack1
UN  192.168.170.137  518.74 MiB  256          40.9%             b6d61651-7c65-4ac9-a5b3-053c77cfbd37  rack1
UN  192.168.170.138  554.43 MiB  256          38.6%             f1ba3e80-5dac-4a22-9025-85e868685de5  rack1
UN  192.168.170.134  153.76 MiB  256          40.7%             568389b3-304b-4d8f-ae71-58eb2a55601c  rack1
UN  192.168.170.135  350.76 MiB  256          38.7%             1a7d557b-8270-4181-957b-98f6e2945fd8  rack1
CREATE KEYSPACE grudb WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1': '3', 'dc2': '2'}  AND durable_writes = true;

Это мои настройки.

CL ЕДИНО.

1 Ответ

0 голосов
/ 20 июня 2019

Как правило, кластер из 10 узлов может поддерживать более высокую пропускную способность , но то, действительно ли это приводит к более высоким показателям "cassandra-стресс", зависит от того, что именно вы делаете:

Во-первых, вам необходимо убедиться, что клиент-кассандра-стресс не является вашим узким местом.Например, если машина, на которой запущена нагрузка cassandra, имеет 100% загрузку ЦП или сети, вы никогда не получите лучший результат, даже если у вас 100 серверных узлов.

Во-вторых, вам нужно убедиться, что cassandra-нагрузка параллелизм достаточно высок.В крайнем случае, если cassandra-стресс отправляет только один запрос за другим, все, что вы делаете, это измеряете латентность , а не пропускная способность .Более того, это не поможет, если у вас есть 100 узлов, если вы отправляете только один запрос за один раз.Поэтому, пожалуйста, попробуйте увеличить параллелизм Cassandra-Stress, чтобы увидеть, имеет ли это какое-то значение.

Теперь, когда мы избавились от потенциальных проблем Cassandra-Stress, давайте посмотрим на сервер.Вы не просто увеличили свой кластер с 1 до 10 узлов.Если бы вы просто сделали это, вы бы по праву удивились, если бы производительность не увеличилась.Но вы сделали что-то еще: вы увеличили до 10 узлов, но также значительно увеличили работу записи - в вашей настройке каждая запись должна идти до 5 узлов (!), 3 на одном DC и 2 надругое (это настроенные вами RF).Поэтому даже в лучшем случае нельзя ожидать, что пропускная способность записи в этом кластере будет более чем в два раза выше, чем в одном узле.На самом деле, из-за всех издержек этой репликации вы ожидаете, что производительность будет даже вдвое меньше, поэтому неудивительно, что подобная производительность неудивительна.

Приведенная выше оценка была для производительности записи.Что касается производительности чтения, поскольку вы сказали, что используете CL = ONE (кстати, вы можете использовать CL = LOCAL_ONE), пропускная способность чтения должна действительно линейно масштабироваться в зависимости от размера кластера.Если это не так, я предполагаю, что у вас есть проблема с настройкой, как я описал выше (клиент имеет узкое место или использует слишком мало параллелизма).

Пожалуйста, попробуйте запустить тесты чтения и записи отдельно, чтобы лучше понять, какие из нихявляется основной проблемой масштабируемости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...