Compress settings
Ensure that the compress settings are correct:
\typeout{pdfcompresslevel=\the\pdfcompresslevel}
\typeout{pdfobjcompresslevel=\the\pdfobjcompresslevel}
\typeout{pdfminorversion=\the\pdfminorversion}
Default for TeX Live 2014:
pdfcompresslevel=9
pdfobjcompresslevel=2
pdfminorversion=5
\pdfcompresslevel
compresses streams as page descriptions.
An enabled \pdfobjcompresslevel
(value 1 or 2) compresses further data structures, but requires PDF-1.5.
If you have smaller values, then the values can be set by:
\pdfcompresslevel=9
\pdfminorversion=5
\pdfobjcompresslevel=2
It can be set at the very begin of the TeX file and should be done before the first object is written to the PDF file. You can check later that no package or class has changed the values.
Fonts
OpenType fonts can be much better compressed than Type 1 fonts, because the latter are stored encrypted, which does not compress very well. Since LuaTeX is already used, I assume that the fonts are already OpenType?
The program pdffonts
or AR's font information can be used to check the type of the fonts.
Plots
Refer the 40KB to the source of the plots? Then the result in the PDF
file can be much larger. With simple commands much output can be generated.
Thus it is possible that much of the 34MB is caused by the plots.
Analyzing
A tool like pdftk
can be used to split the PDF into single pages to look for pages with large size.
pdflatex
smaller?XeLaTeX
are generally much smaller.