OpenOffice.org Performance Analysis - to improve responsiveness for older PC

1,393 views

Published on

A client with 1x,000 users has gradually migrated to OpenOffice.org for a few years. They found many complaints about the speed of OpenOffice.org compare to MS Office. This kind of complaint are familiar to us but the magnitude of the problems, e.g. open-file time in minutes seems rather strange. So we investigated the problems to find the kind and cause of them to reach a conclusion that could be use to improve the situation in our client case.

We found that the problem depends solely on hardware, notably RAM, vs. file size. Our client happen to have old IT infrastructure with a lot of old PC, e.g. Pentium with 256M RAM. Add enough RAM (>512M) and OpenOffice.org will run fine for files of average sizes. Add more (e.g. >1024M) to open larger files.

Here is the presentation of our finding.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,393
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OpenOffice.org Performance Analysis - to improve responsiveness for older PC

  1. 1. OpenOffice.org Performance Analysis to improve responsiveness for older PC Samphan Raruenrom Open Source Development Co., Ltd. samphan@osdev.co.th www.osdev.co.th Copyright © 2010 Open Source Development Co., Ltd.
  2. 2. Issue #1 ● How bad is OpenOffice.org speed problem? ● And where? © 2010 Open Source Development Co., Ltd. 2
  3. 3. Common PC Configurations ● Hardware ● Desktop PC ● Intel Pentium 4, 2292 MHZ ● RAM 256 MB ● Video 1024x768 pixels, 32 bits ● Harddisk 40-80 GB ● Software ● Windows XP Professional ● OpenOffice.org 3.1 © 2010 Open Source Development Co., Ltd. 3
  4. 4. Sample Configurations ● PC0 : fresh-install, standalone ● PCA : PC0 + join domain ● run standard corporate software/services ● PCA Old : 1-2 years old PCA ● typical PC in a corporate ● PCA Old d1, d2, d3 ● PCA Old defragmented 1, 2, 3 times ● PCA Old d3f ● PCA Old d3 with fresh-install OpenOffice.org © 2010 Open Source Development Co., Ltd. 4
  5. 5. Metrics ● Cold startup time ● time to start OpenOffice.org for the first time after reboot ● Warm startup time ● time to start another instance of OpenOffice.org after cold startup ● Open small file ● time to open a small sheet - 378KB ● Open big file ● time to open a big, complex sheet - 5,397KB © 2010 Open Source Development Co., Ltd. 5
  6. 6. Speed Benchmark #1 Time (min:sec) 10:00 09:00 08:50 08:42 08:31 08:37 08:01 08:00 07:00 06:48 06:00 cold startup warm startup 04:48 05:00 open big file open small file 04:00 03:00 02:00 01:08 01:01 01:01 01:03 00:55 01:00 00:32 00:21 00:00 PC0 PCA PCA Old PCA Old d1 PCA Old d2 PCA Old d3 PCA Old d3f Configurations © 2010 Open Source Development Co., Ltd. 6
  7. 7. Compare Cold/Warm Startup Time (sec) 20 16 12 10 10 09 07 08 07 07 07 05 06 05 05 04 cold startup warm startup 00 PC0 PCA PCA Old PCA Old d1 PCA Old d2 PCA Old d3 PCA Old d3f Configurations © 2010 Open Source Development Co., Ltd. 7
  8. 8. Conclusion #1 ● Startup time is not an issue ● Startup time < 20 sec. ● Warm startup time < 10 sec. ● Worst case : Cold startup in old PC – can be improved to be on par with fresh-install PC by running a few or regular defrag ● Open-file time is the real issue ● Defrag doesn't improve open-file time! © 2010 Open Source Development Co., Ltd. 8
  9. 9. Issue #2 ● Why OpenOffice.org open-file time is very slow for big files? ● Why this is never an issue for MS Office? © 2010 Open Source Development Co., Ltd. 9
  10. 10. Open-file Benchmarking ● Configurations ● OpenOffice.org on PC0 ● OpenOffice.org on PCA ● Microsoft Office 2000 on PC0 ● Microsoft Office 2000 on PCA ● StarOffice 9 on PC0 © 2010 Open Source Development Co., Ltd. 10
  11. 11. Test Data ● 5 Calc files with 256 columns x n rows ● n = 200, 400, 600, 800, 1000 ● file size = 878K, 1725K, 2625K, 3499K, 4373K ● each cell is a simple formula ● on all charts, x axis are the workloads on the system ● no run : after reboot, no running application ● office : after running an instance of office, no file ● load n rows : after open the test file with n rows © 2010 Open Source Development Co., Ltd. 11
  12. 12. Memory Metrics ● System Information ● Physical Memory – Total RAM – Unused RAM = Available+Cache ● Virtual Memory – Limit = Total Virtual Memory – Current = Allocated Virtual Memory, used by all processes ● Process Information – Private Bytes = Size of virtual memory used by a process – WS Private = RAM usable by the process © 2010 Open Source Development Co., Ltd. 12
  13. 13. Speed Metrics ● Open-file time ● Total – total time to open a file ● OpenOffice.org Calc specifics – Loading - time to load the file – Calculating - time to calculate the value of cells – Adapting Row & Height - time to adjust the cell layout – Total = Loading + Calculating + Adapting RH © 2010 Open Source Development Co., Ltd. 13
  14. 14. Key Metrics ● Process's Private Memory in Bytes ● virtual memory that the process need privately ● i.e. “process size” or its virtual memory requirement ● Process's Private Working Set ● amount of RAM that the system allocated to the process ● depend on how much RAM is available © 2010 Open Source Development Co., Ltd. 14
  15. 15. Memory v.s. Speed Implications ● when Private Working Set = Private Bytes ● the entire process will be in RAM → fast ● when Private Working Set < Private Bytes ● only the part of process in 'Private WS' will be in RAM ● the rest will be in paging file → slow ● the critical point ● the closer Private Bytes is to Total RAM, the lesser is the chance for the system to provide the process with enough Working Set © 2010 Open Source Development Co., Ltd. 15
  16. 16. PC0 - OpenOffice.org Memory (KB) 1,000,000 800,000 Total 600,000 Unused Current Limit 400,000 322,415 WS Private 260,641 Private Bytes 182,983 200,000 144,873 87,695 16,689 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Work Load Time (sec) 250 198.33 200 150 Loading 110.33 Calclating 100 Adapting RH 46.33 Total 50 27.67 14.33 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Work load © 2010 Open Source Development Co., Ltd. 16
  17. 17. PCA - OpenOffice.org Memory (KB) 1,000,000 800,000 Total 600,000 Unused Current Limit 400,000 329,935 WS Private 228,872 Private Bytes 205,980 200,000 144,145 82,476 16,199 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Work load Time (sec) 245 250 200 150 136 Loading Calclating 100 Adapting RH 56.33 Total 50 28.67 15 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Work load © 2010 Open Source Development Co., Ltd. 17
  18. 18. PC0 - MS Office Memory (KB) 1,000,000 800,000 Total 600,000 Unused Current Limit 400,000 WS Private Private Bytes 200,000 16,956 23,232 29,527 35,835 3,780 10,676 0 Work load not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Time (sec) 3 2 2 2 2 Total 2 1 1 1 1 ... Work load not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s © 2010 Open Source Development Co., Ltd. 18
  19. 19. PCA - MS Office Memory (KB) 1,000,000 800,000 Total 600,000 Unused Current Limit 400,000 WS Private Private Bytes 200,000 17,208 23,505 29,721 36,133 4,011 10,924 Work load 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Time (sec) 3.5 3.33 3 2.67 2.5 Total 2 2 2 2 1.5 1 0.5 Work load 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s © 2010 Open Source Development Co., Ltd. 19
  20. 20. PC0 - StarOffice Memory (KB) 1,000,000 800,000 Total 600,000 Unused Current Limit 400,000 329,001 270,477 WS Private 209,660 Private Bytes 200,000 149,395 85,368 16,851 Work Load 0 not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s Time (sec) 250 234 200 150 128 Loading Calclating Adapting RH 100 Total 57 50 28 15 ... Work load not run office load 200 row s load 400 row s load 600 row s load 800 row s load 1000 row s © 2010 Open Source Development Co., Ltd. 20
  21. 21. Compare Virtual Memory Usage Private Bytes 350,000 KB 326,252 KB 300,000 KB 270,112 KB 250,000 KB 212,640 KB 200,000 KB Calc 148,936 KB Excel 2003 150,000 KB Excel 2007 100,000 KB 83,320 KB 50,000 KB 35,448 KB 29,048 KB 22,604 KB 15,800 KB 9,448 KB 2,898 KB 2,584 KB 0 KB 0 Rows 200 Rows 400 Rows 600 Rows 800 Rows 1000 Rows Workload © 2010 Open Source Development Co., Ltd. 21
  22. 22. Conclusion #2 ● OpenOffice.org open big files very slow ● because it require much more memory to load files compare to MS Office loading the same file ● On PC with 256M RAM the situation is worse ● because its RAM is not enough to hold the document in RAM so paging file will be used ● just adding 256M RAM will allow much bigger documents (e.g. the 1000 rows test) to be kept in RAM to avoid paging © 2010 Open Source Development Co., Ltd. 22
  23. 23. Conclusion #3 ● for PC with 256MB RAM ● RAM is the cause of the slow open-file speed – PCA which run a lot of standard corporate software leave even less RAM for OpenOffice.org, worsen the situation – adding more RAM will improve open-file speed a lot – faster CPU or harddisk will not help ● PC with 512MB will have the same problem but at larger file size ● however, if the PC run a lot of software leaving less RAM for OpenOffice.org, the same situation as 256MB PC will happen © 2010 Open Source Development Co., Ltd. 23
  24. 24. Issue #3 ● How much adding more RAM improve open-file speed? ● How much faster CPU and harddisk improve open-file speed? © 2010 Open Source Development Co., Ltd. 24
  25. 25. Configurations ● PC0256, PCA256, PCA512, PCA1024 ● Intel Pentium 4, 2292 MHZ ● RAM 256, 512, 1024 MB accordingly ● Harddisk IDE ● PCB1024 ● Core 2 Duo 3 GHz ● RAM 1024 MB ● Harddisk SATA II © 2010 Open Source Development Co., Ltd. 25
  26. 26. Speed Benchmark #2 420 408 360 300288 open small file 240 223 open big file Time (sec) 213 180 120 67 60 32 21 12 12 7 0 PC0256 PCA256 PCA512 PCA1024 PCB1024 Configurations © 2010 Open Source Development Co., Ltd. 26
  27. 27. Recommendation ● defrag PC harddisks to improve OpenOffice.org startup speed ● for 256 MB PC ● small or simple files are as OK as in larger PC ● to open larger files, open just one document and close all other software – this leave all available RAM for OpenOffice.org to load the document, more chance for all to stay in RAM ● to improve startup speed in low memory situation, enable OpenOffice.org QuickStarter to keep the OpenOffice.org process in RAM or at least in virtual memory © 2010 Open Source Development Co., Ltd. 27

×