Не зная ничего о вашем сервере, и с только фрагментом конфигурации, я буду придерживаться некоторых общих рекомендаций, которые должны улучшить свой опыт.
Disk IO
Вы четко связаны скорости чтения с вашего storage media, который вы объявили, что файл. Если вы храните data on disk, вы можете использовать file
или device
в блоке конфигурации storage-engine device
.
Существует большая разница в задержке чтения и записи между файлом на жестком диске и доступом к необработанному устройству SSD. Обычно Aerospike используется с данными, хранящимися на устройствах enterprise-grade SSD. Прочтите раздел в руководстве по эксплуатации о initializing и setting up накопителя. Объявление нескольких устройств для пространства имен дает вам линейное повышение производительности (два диска будут иметь удвоенную пропускную способность чтения и записи одного типа).
В этой статье вы можете использовать семейства экземпляров c3, i2, r3 или i3. Эфемерные SSD-устройства экземпляров EC2 не нуждаются в избыточном обеспечении, отключении их RAID и т. Д. Их нужно только инициализировать до их первого использования. Не используйте диски EBS для первичного хранилища, так как они слишком медленные.
конфигурации кластера
Соединитель Спарк использует множество операций сканирования. Убедитесь, что вы сконфигурировали scan-threads
под вашим конфигурационным блоком service
на количество ядер. Если вы не знаете, сколько ядер у вас есть, сделайте cat /proc/cpuinfo
. Если Spark является единственным клиентом, использующим Aerospike-кластер, вы можете настроить потоки сканирования выше.
Конфигурация
Connector Вы можете изменить разъем config options для снижения задержки записи. Необязательно установите aerospike.commitLevel
на номер CommitLevel.COMMIT_MASTER
.
Upgrade Version
По состоянию на 28 ноября 2016 года aerospike/aerospark поддерживает Спарк 2.0. Убедитесь, что вы используете последний код.
Примечание: См. Новый tutorial для Aerospark на аэрокосмическом сайте.
Каков размер каждой записи? Вы и аэрокосмический кластер сидите в одной подсети? Этот вопрос очень широк. –
Каждый раунд записи содержит 1k данных. AeroSpike и Spark размещены на одном узле. –
Причина, по которой вы видите CPU на уровне 7%, - это в основном IO, а не работа с ЦП, вы читаете от AeroSpike. Вы делаете периодические чтения? –