Vertica performance on VM

Moderator: NorbertKrupa

Post Reply
atantawy
Newbie
Newbie
Posts: 3
Joined: Fri Jul 17, 2015 11:48 pm

Vertica performance on VM

Post by atantawy » Sat Jul 18, 2015 12:40 am

Hi,

We're running some tests on a newly created VM with Vertica 7.1 and noticed that the COPY operation takes a lot of time.

VM is based on Vertica's virtual machine, but we've increased the resources.
The current setup is, 12GB RAM, 1 virtual socket with 4 cores.
Virtual disk in Indenpendent and Persistent mode.
Hyperthreading Core Sharing set to None.
I/O scheduler set to deadline, nr_requests set to 1024, and blockdev to 4096.
Running on ESXi server 5.5.


We're loading data to a table with only 1 foreign key and only the super projection.
Each file includes 5000 (170KB) records. it takes sometimes up to 20 seconds to load 1 file using the COPY command from vsql
CPU utilization is almost 100% consumed by vertica's process.

The same file I can load on another VM running on my local PC, with much less resources, in 1-2 seconds using VJDBC & VerticaStreamCopy.

There seems to be something wrong with either the VM or system configuration, but I can't seem to find it.

Any ideas how to troubleshoot this?

NorbertKrupa
GURU
GURU
Posts: 527
Joined: Tue Oct 22, 2013 9:36 pm
Location: Chicago, IL
Contact:

Re: Vertica performance on VM

Post by NorbertKrupa » Sat Jul 18, 2015 3:17 am

  • What's the storage behind the VM?
  • Run vioperf and let us know the results.
  • Is the COPY being run DIRECT?
  • Are you able to combine these files into something bigger than 5000 170kb files?
Checkout vertica.tips for more Vertica resources.

atantawy
Newbie
Newbie
Posts: 3
Joined: Fri Jul 17, 2015 11:48 pm

Re: Vertica performance on VM

Post by atantawy » Mon Jul 20, 2015 11:59 pm

Hi,

Storage configured on the VM is on a RAID 5 array using SCSI disks.
I'm attaching the vioperf output for the /opt/ folder, nothing else is running except vertica on this server.
Yes the COPY command is using DIRECT.
I've tested loading a file double the size, 10,000 lines, and its taking much more time... still processing as I'm writing :)

I've noticed that the performance has degraded after leaving it running and loading data for 2 days.
A file with 600 records takes up to 30 seconds now.
Attachments
vioperf.txt
(8.4 KiB) Downloaded 800 times

NorbertKrupa
GURU
GURU
Posts: 527
Joined: Tue Oct 22, 2013 9:36 pm
Location: Chicago, IL
Contact:

Re: Vertica performance on VM

Post by NorbertKrupa » Tue Jul 21, 2015 2:19 am

Thanks for providing the vioperf output. It doesn't appear that your environment meets the minimum requirements for a virtual environment:
  • 25 megabytes per second per core of write
  • 20+20 megabytes per second per core of rewrite
  • 40 megabytes per second per core of read
  • 150 seeks per second of latency (SkipRead)
  • 8 or more virtual cores per virtual machine
  • 4G per virtual core of the virtual machines
Until the write speeds are improved, there's not much that can be done. If you ran vioperf on your laptop's VM you would probably see that the speeds are significantly better than these results.

On the load size, I would recommend trying to load to memory, instead of to disk (using DIRECT) as 5000x170KB = 0.81 GB; you have 16GB of memory to load into.
Checkout vertica.tips for more Vertica resources.

atantawy
Newbie
Newbie
Posts: 3
Joined: Fri Jul 17, 2015 11:48 pm

Re: Vertica performance on VM

Post by atantawy » Tue Jul 21, 2015 7:58 am

Thanks.

I understand its not meeting the minimum requirements, but the other VM isn't either.
Based on your feedback the storage performance seems to be the bottleneck. I will try to tune it and see the results.

Thanks for your help.

Post Reply

Return to “Vertica Performance Tuning”