А мы поступили проще — на некоторые таблицы вообще отключили BlockCache )
Кстати, а какие цифры на вашем профиле данных вы получили бы если бы включили SNAPPY/LZO/ZSTD и хранение в кеше сжатых данных hbase.block.data.cachecompressed issues.apache.org/jira/browse/HBASE-11331?
В get полного экземпляра у вас будут и «новые» данные из MemStore и «старые» из HFile, так что диски будут задействованы. Причем чтение из MemStore + HDFS возможно будет даже медленее чем если бы вы сразу из HDFS считали объект целиком.
> ZooKeeper session timeout + split time + assignment/replay time
Split time тут лишнее.
Вы сильно раздули MemStore потому у вас при падение RS нужно много данных вычитывать из WAL. У нас после падение RS рекавери за 1-2 минуты проходит.
> На версии 2.1.0 наблюдали как RS упал, а переезд не начался
Как по мне так намного чаще регионы зависают в transition по разным причинам и их приходится в ручном режиме пропихивать.
В реальной жизни чтение обычно сильно позже идет после записи, а значит MemStore будет сброшен на диск до чтения. Потому я склоняюсь что тест на чтение должен работать с файлов после принудительного FLUSH что бы зафиксировать скорость чтение в типовом сценарии потребления.
В тесте для HBase добавьте FLUSH на таблицы в конце записи, что бы чтение было не из MemStore, а с диска. Иначе БД в разных условиях сравниваются на чтение.
А вот вопрос — движок которые аннотации читает и т.д. тяжело вытащить из проекта? Если его сделать отдельным, то тогда его можно было бы подключить в другие редакторы (по аналогии с https://github.com/vheon/JediHTTP)
Не 1С, но российская бухгалтерия. Данные приезжают с большим кол-во атрибутов на русском языке. Попробовали на уникоде имена методов создавать — никаких вообще проблем и трудностей. Но вот некоторые дополнительные средства, типа Ciritic, увы, теперь не работают )
Под "utf8 код" я понимал имена переменных, методов и т.д. с использованием юникода
Достаточно распространенное сейчас явление, т.к. сам perl прекрасно с этим работает. Но "perl может распарсить только сам perl", потому такие решения как PPI с таким кодом не работают и нормально пофиксить сам PPI достаточно сложно.
Да… и с исключениями беда, они по идее должны в разы сложность программы поднимать, т.к. добавляют большое кол-во рёбер. Но я согласен, что эту реализацию McCube нужно использовать как примерная оценка сложности.
Спасибо за обзор. Люблю разные метрики и аналитику, но при этом не задумывался что можно не только код для этого писать, а и сам код анализировать.
PS. PPI, кстати, совсем не хочет работать с utf8 кодом. Причем легко парсер токенов там не исправить, потому у меня в проекте его полноценно использовать никак не получается. Не сталкивался с этим?
А все же сравнение не помешало бы )
А, вижу тоже замучилась тред-пулы подкручивать что бы выжать максимум с железа и всё равно этого не хватает и проще поднять еще RS на сервере 8)
Кстати, а какие цифры на вашем профиле данных вы получили бы если бы включили SNAPPY/LZO/ZSTD и хранение в кеше сжатых данных hbase.block.data.cachecompressed issues.apache.org/jira/browse/HBASE-11331?
Не пробовали Кеш на SSD?
Зачем major делать до заливки?
Скиньте исходники для HBase. Прогоню на своем нагрузочном кластере. Интересно что у меня получится.
Split time тут лишнее.
Вы сильно раздули MemStore потому у вас при падение RS нужно много данных вычитывать из WAL. У нас после падение RS рекавери за 1-2 минуты проходит.
> На версии 2.1.0 наблюдали как RS упал, а переезд не начался
Как по мне так намного чаще регионы зависают в transition по разным причинам и их приходится в ручном режиме пропихивать.
Топик стартер кажется имел ввиду второе
Взял проект на карандаш.
Подскажите, а какие возможности рефакторинга есть?
Достаточно распространенное сейчас явление, т.к. сам perl прекрасно с этим работает. Но "perl может распарсить только сам perl", потому такие решения как PPI с таким кодом не работают и нормально пофиксить сам PPI достаточно сложно.
Спасибо за обзор. Люблю разные метрики и аналитику, но при этом не задумывался что можно не только код для этого писать, а и сам код анализировать.
PS. PPI, кстати, совсем не хочет работать с utf8 кодом. Причем легко парсер токенов там не исправить, потому у меня в проекте его полноценно использовать никак не получается. Не сталкивался с этим?
Возьмем пример попроще — всего 2 if
Тут должно быть 8 — 7 + 2 = 3. Такого же мнения и википедия. А вот countperl возвращает 5
countperl выдает на это 7, хотя должно быть 8.