Load testing

From ISPWiki

Jump to: navigation, search

BILLmanager load testing

Server configuration:

  • CPU Intel Core2 Quad Q9400
  • RAM 8GB
  • HDD 2 x Seagate ST3500320NS


Installed software:

  • FreeBSD 8.1-RELEASE (amd64)
  • MySQL 5.1.54
  • BILLmanager-Corporate 4.0.49.7


MySQL configuration: we took MySQL my-huge.cnf


[mysqld]
skip-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 128M
tmp_table_size = 32M
thread_concurrency = 8
#log-bin=mysql-bin
innodb_data_home_dir = /var/db/mysql (logs and databases are located on different hdd)
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql-logs
innodb_buffer_pool_size = 5GB
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_flush_method=O_DIRECT
innodb_thread_concurrency=8
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

http://en.ispdoc.com/index.php?title=Load_testing&action=edit Testing was performed on two concurrent flows from two separate computers:

Step 1: Registering customers

               Number      Total time    Average time
Computer #1   250000        01:49:06    38.19 clients/sec.
Computer #2   250000        01:48:58    38.24 clients/sec.

Final value - 76.38 customers/sec.

Step 2: Crediting account

This procedure includes:

  • applying user's payment;
  • confirmation by administrator.
              Number      Total time      Average time
Computer #1   250000      10:05:57        6.89 payments/sec.
Computer #2   250000      10:06:29        6.87 payments/sec.

Final value: 13.74 payments/sec.


Step 3: Ordering a service

You can order a service if you have the package with manual processing. This procedure includes:

  • a user orders a service;
  • the administrator processes it.
              Number      Total time      Average time
Computer #1   250000      39:11:18        1.77 services/sec.
Computer #2   250000      39:11:48        1.77 services/sec.


Final value: 3.54 services/sec.

Step 4: Submitting a trouble ticket

This step includes:

  • a customer submits a ticket;
  • the administrator processes it.
              Number      Total time      Average time
Computer #1   250000      06:03:15        11.47 tickets/sec.
Computer #2   250000      06:04:57        11.41 tickets/sec.

Final value: 22.83 tickets/sec.

Step 5: Allying payment for the second time

              Number      Total time      Average time
Computer #1   250000      09:58:55        6.95 payments/sec.
Computer #2   250000      10:02:12        6.91 payments/sec.

Final value: 13.83 payments/sec. Difference from Step 2 is +0,65%.

Step 6: Automatic renewal (daily billing)

You need to start the command "/usr/local/ispmgr/sbin/billmaintain billdaily" for automatic renewal on the servers being tested. This command will renew the service and charge the customer.

              Number      Total time      Average time
Server       500000       00:58:36        142.17 renewal/sec.

Final value: 142.17 renewal/sec.

Step 7: Registering additional customers

              Number      Total time      Average time
Computer #1   250000      00:10:35       39.37 customers/sec.
Computer #2   250000      00:10:28       39.81 customers/sec.

Final value: 78.74 customers/sec. Difference between Step 7 anв Step 1+3,09%.


Step 8: Crediting account of additional customers

              Number      Total time      Average time
Computer #1   250000      01:10:58        5.87 payments/sec.
Computer #2   250000      01:11:00        5.86 payments/sec.

Final value: 11.73 payments/sec. Difference between Step 8 and Step 2 is -14.62%.

Step 9: Ordering services for additional customers

              Number      Total time      Average time
Computer #1   250000      05:22:05        1.30 services/sec.
Computer #2   250000      05:06:15        1.36 services/sec.

Final value: 2.59 services/sec. Difference between Step 9 and Step 3 is -26.83%.

Step #10: Generating invoices

We generated invoices on one server using a single command for all customer accounts.

          Number    Total time        Average time
Computer  550000     02:51:25         53.47 invoices/sec.

Final value: 53.47 invoices/sec.


Results

We created 550 000 accounts and performed operations such as ordering, renewing, and paying for services, submitting a trouble ticket. Total testing time is 84 hours. After the tests have been completed, the billing database reaches 5 Gb.

Was this helpful? Yes | No
Views
Personal tools