You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2017/01/14 00:10:26 UTC
[jira] [Commented] (PHOENIX-3218) First draft of Phoenix Tuning
Guide
[ https://issues.apache.org/jira/browse/PHOENIX-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15822545#comment-15822545 ]
Josh Elser commented on PHOENIX-3218:
-------------------------------------
(will leave a few comments as I work my way through. don't want JIRA to eat my comments while editing)
{code}
# Phoenix Tuning Guide
{code}
"Apache Phoenix" for the first reference in the doc, please.
{code}
*This guide was written by [Peter Conrad](https://github.com/pconrad-fb) in September 2016 to help Phoenix users understand how to tune performance.*
{code}
This feels a little self-serving to me. Curious what others think.
{code}
When designing a schema, determine the likely access patterns for the data.
{code}
This doesn't flow with the rest of the paragraph. Maybe "it is important to determine the..."?
{code}
Major latency contributors:
{code}
"In addition to schema design, some major.."
{code}
Major latency contributors:
* Excessive work needed per query
* Request queuing
* JVM garbage collection
* Network Server outages
* OS pagecache / VMM / IO
{code}
At second glance, these almost seem a bit abstract. "Excessive work" isn't really something I can look for to understand. Nor is "Network Server outages". Maybe convert this list into a statement that general system tuning is not covered by this document? The focus you have on Phoenix (with a little bit of HBase) tweaking is very nice without getting into the weeds on how Linux works. I think this list doesn't do the rest of your document justice as an introduction.
{code}
to get it right at design time because you can't patch it later
{code}
How about.. "because you cannot change it later without re-writing the data and index tables."
{code}
The primary keys should be chosen and concatenated in an order that makes it fast
{code}
"The columns for the primary key constraint should be chosen and ordered in such a way that aligns with the common query patterns."
{code}
To sum up, design primary keys
{code}
How about... "It is a best practice to design primary keys..."
{code}
When choosing primary keys, lead with the PK column you
{code}
Strike "PK". You're adding columns to the primary key constraint. I think "PK column" encourages bad "verbage" which makes it harder for everyone to communicate.
> First draft of Phoenix Tuning Guide
> -----------------------------------
>
> Key: PHOENIX-3218
> URL: https://issues.apache.org/jira/browse/PHOENIX-3218
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Peter Conrad
> Attachments: Phoenix-Tuning-Guide-20170110.md, Phoenix-Tuning-Guide.md, Phoenix-Tuning-Guide.md
>
>
> Here's a first draft of a Tuning Guide for Phoenix performance.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)