QNAP TS-269L as a ZurmoCRM Application Server Performance Report


I am currently porting ZurmoCRM to QTS platform which runs on QNAP device. According to QNAP TS-269L as a LAMP Application Server Performance Report, I decide to focus on Intel Atom Processor based NAS first. If the performance is acceptable, I will support ARMADA XP later.

In previous test, SugarCRM running on an Intel Atom D2701 based QNAP TS-269L is as fast as Intel Atom D510 based Shuttle X50V2 running. How about the performance with ZurmoCRM? Is there any difference between QTS and Debian? Let’s take a look at it.

Processor, RAM, and Linux Difference

While QNAP TS-119PII is based on Marvell 88F6281 at 2.0GHz, QNAP TS-269L has an Intel Atom D2701 running slightly higher at 2.13GHz. Shuttle X50V2 comes with Intel Atom D510 at 1.6GHz.

Both Intel Atom D2701 and Intel Atom D510 have 2 core with 4 threads and 4 times the cache (1MB vs 256KB) compares to Marvell 88F6281. Each instruction set is 64-bit compared to 32-bit on. In other words, it should be able to run 64-bit operating system even the current QTS for QNAP TS-269L is still 32-bit. The Debian in TurnKey Linux is x64 which means 64-bit.

RAM is expandable to 3GB. There is an empty RAM slot. With more RAM available, you may see improvements on disk sensitive operation and may run more applications without out of memory at the same time.

Test Method

I connect NAS to computer directly. Then upload ZurmoCRM and setup with build-in demo data. Shuttle X50V2 is setup with ISO image from TurnKey Linux: Zurmo. Then use Firefox to list all contacts. There are 28 contact records provided from ZurmoCRM demo data.

To satisfy requirement, I also manually edit Qthhttpd.sh in QTS and php.ini in Debian to increase memory_limit from 128M to 256M. Please reference QNAP QTS Configuration and Executable Files and TurnKey Linux Configuration and Executable Files to find the path.

All unnecessary background process and programs are disabled.

With the right cache system required by Zurmo, it may improve performance.

Alternative PHP Cache helps to execute faster by caching compiled codes and eliminating the overhead of compiling the same code again. It is not supported on QTS or TurnKey Linux.

Memcache and memcached together help to cache database result and lower database loading in LAMP. It is not supported on QTS nor TurnKey Linux.

Both PHP accelerators may be installed with apt-get easily in TurnKey Linux but need to compile yourself in QTS. You may download memcached in App Center in QTS.

QNAP TS-269L is configured with following disk sets.

  1. Two Seagate SV35 7200rpm 2TB as RAID 1.
  2. OCZ Vertex 120GB SSD

According to my MTU test, I keep it to use default 1500.

I measure time to load 1 and 5 contacts in a single login session. The 5 contacts are loaded in different tabs in the same Firefox. Therefore, it use only one thread and won’t begin to load the next until finish. If you are confused or interested in the relationship of LAMP, thread, multi-core processor, hyper-threading, How Multi-Core Processors Accelerate your LAMP Applications provides detail explain in plain English.

Performance

Performance comparison table on QNAP TS-269L with others loading contacts from ZurmoCRM.
Performance comparison table on QNAP TS-269L with others loading contacts from ZurmoCRM.

Analyze

The best configuration for QNAP TS-269L is about 55% slower to Shuttle X50V2 with Alternative PHP Cache and Memcache. Although TS-269L has fewer RAM, it never use swap during test.

As you may see, QNAP TS-119PII is the slowest among them. It is clear that Intel Atom D2701 execute LAMP applications faster than Marvell 88F6281.

Compared to my experience with Salesforce, running ZurmoCRM on NAS is slow.

Final Thoughts

The lack of support Alternative PHP Cache and Memcache makes QTS a poor choice for ZurmoCRM. You will need a much more powerful processor with QNAP. I don’t think the performance is acceptable with QTS 4.0 on QNAP TS-269L now. It needs more optimization.

About memory_limit in php.ini, StackOverflow has an interesting topic: “StackOverflow: Is the more the better for PHP memory_limit? [closed]” while Jeff Starr does a test on Perishable Press: Improve Site Performance by Increasing PHP Memory for WordPress. If you didn’t increase before setup ZurmoCRM, you will fail to install demo data.

Reference

  1. ZurmoCRM
  2. QNAP
  3. QNAP: QTS
  4. QNAP TS-269L as a LAMP Application Server Performance Report
  5. Intel Atom Processor
  6. Marvell ARMADA XP
  7. SugarCRM
  8. Shuttle X50V2 Datasheet
  9. Intel: Intel Atom Processor D510
  10. Intel Atom Processor D2700
  11. QNAP TS-269L
  12. TurnKey Linux
  13. Wiki: LAMP (software bundle)
  14. QNAP TS-119PII
  15. Marvell: Marvell 88F6282 SoC
  16. Marvell: Marvell 88F6281 SoC with Sheeva Technology
  17. Wiki: Instruction set
  18. Wiki: Operating system
  19. QNAP: Upgrade RAM Memory for QNAP NAS
  20. Debian
  21. TurnKey Linux
  22. Connect NAS to your Computer Directly
  23. TurnKey Linux: Zurmo
  24. Zurmo: Zurmo Cache System Explained
  25. PHP.net: Alternative PHP Cache
  26. PHP.net: Memcache
  27. QNAP QTS Configuration and Executable Files
  28. TurnKey Linux Configuration and Executable Files
  29. Mozilla: Firefox
  30. Wiki: PHP accelerator
  31. Wiki: List of PHP accelerators
  32. QNAP Turbo NAS User Manual: Media Library
  33. PHP: PHP Manual: Appendices: php.ini directives: memory_limit
  34. PHP: PHP Manual: Appendices: php.ini directivies
  35. Wiki: Session (computer science)
  36. Wiki: Thread (computing)
  37. Seagate Surveillance HDD
  38. Wiki: Standard RAID levels: RAID 1
  39. Trusted Review: OCZ Vertex 120GB SSD review
  40. Wiki: Multi-core processor
  41. Wiki: Hyper-threading
  42. How Multi-Core Processors Accelerate your LAMP Applications
  43. Marvell ARMADA XP
  44. Wiki: List of Intel Atom microprocessors: CE SoCs: Dual-Core CE SoCs
  45. Intel Newsroom: Intel Launches System-on-Chip Storage Solution Designed for Simple Video Transcoding and Streaming
  46. Perishable Press: Improve Site Performance by Increasing PHP Memory for WordPress
  47. StackOverflow: Is the more the better for PHP memory_limit? [closed]
  48. Salesforce

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.