Is there anything I can do to improve UPDATE/APPEND times?

I know I can totally redo my model, but I want to focus on my current model. I need to improve my ingest which updates documents.

I'm using a UpdateRequest with an upsert (with a new index request attached). I'm using the Transport client. I'm starting with 1 shard and 0 replicas on one machine (128GB of system RAM, 30GB ES Heap, 16 cores).

UPDATE: I'm using 2.1.1

UPDATE: It seems increasing my indices.memory.index_buffer_size helped dramatically. I started at 30%, then 60% and now I'm testing at 90% with no downsides (again, I'm using 30GB for ES).