Performance optimization (bandwidth and processor usage) images, documents

Registered by Ferdinand

V5.0.0 - currently images (and other documents ?) are transferred as soon as the object is opened in form view

for SAAS and remote access ( mobile phones ) it is mandatory to reduce bandwidth usage
assumption: the available network bandwidth will always be the bottleneck

fact:
the openserver processes (incl. DB-IO etc) consume almost 10sec 100%CPU to "display" a 1.5MB picture on GTK Client
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2394.250
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid xtpr
bogomips : 4793.48
clflush size : 64

lets categorize
* intranet - usually 100 MB and above: transfer of big files is not problem
* extranet
** high speed connection: (Cable/ADSL) -
transfer of files with size > 500 K must be avoided to allow fast working
** mobile devices (the future) : low transfer rates
transfer of files with size > 50 K must be avoided to allow fast working

so the client has to "know" about the available bandwidth
* automatic
* manual setting

thumbnails
* processing large files (images ~ 1.5 MB) puts high load on the openerp server (~ 15 seconds of network inactivity between
upload ~10-15 sec and download ~5-10 sec of an image)
see
http://launchpadlibrarian.net/22007758/image_up_process_down_resource_usage.png

suggestion 1:
* save thumbnails, low quality mp3 etc (~40k) after upload of image, audio, video and other docs(?) and reuse them for preview
* use full size only with "OPEN" (xdg-open and clients preferred app)

suggestion 2:
* download these previews only if the widget becomes "visible"
currently (the fullsize) image is downloaded (and processed by the GTK client - and WEB-Client? ) even if the widget is invisible on an other tab and the user does not want to see it (Example - image of a product - it is needed for price lists etc, but not for the daily work)

suggestion 3:
avoid download of a just uploaded file

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Solved in Koo

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.