Назад | Перейти на главную страницу

Jmeter получает потерянное соединение с БД Apache

У меня есть веб-приложение, которое выполняет множество запросов ajax (обновляет данные с помощью сетки).

Когда я использую JMeter для выполнения стресс-теста с 20 потоками и 10 циклами, мое веб-приложение не может подключиться к базе данных (Oracle) в 3-м примере.

Мой сервер имеет следующую конфигурацию:

Physical Server: Dell r710 , 01 processor Xeon 2.66 Ghz 06 Cores, RAM 32 GB, 05 Disk of 500GB

Virtual Server: 01 Processor Xeon 04 Cores, 03 GB RAM, 36 GB of hard disk.

soporte@olivo:~$ df -h
S.ficheros            Tamaño Usado  Disp Uso% Montado en
/dev/sda3             5,6G  2,5G  2,8G  48% /
none                  2,0G  172K  2,0G   1% /dev
none                  2,0G     0  2,0G   0% /dev/shm
none                  2,0G  916K  2,0G   1% /var/run
none                  2,0G     0  2,0G   0% /var/lock
none                  2,0G     0  2,0G   0% /lib/init/rw
/dev/sda1              92M   26M   62M  30% /boot
/dev/mapper/vg1-lv1    28G  7,5G   19G  30% /var
soporte@olivo:~$

APACHE:
Apache/2.2.14 (Ubuntu)

PHP:
PHP 5.3.2-1ubuntu4.9 with Suhosin-Patch (cli)

SO:
Ubuntu 10.04.2 LTS

Welcome to the Ubuntu Server!
 * Documentation:  http://www.ubuntu.com/server/doc

  System information as of Tue Dec 27 17:15:34 PET 2011

  System load: 0.1               Memory usage: 17%   Processes:       134
  Usage of /:  44.6% of 5.50GB   Swap usage:   0%    Users logged in: 1

  Graph this data and manage this system at https://landscape.canonical.com/

Кроме того, это веб-приложение выполняет множество запросов через ajax в фоновом режиме, поэтому, когда есть 10 или более пользователей, эти запросы ajax, которые выполняются в фоновом режиме, приводят к падению приложения (при последующих подключениях возникает ошибка ORA-12520).

Я бы знал, как избежать остановки соединения сервера с базой данных при одновременном подключении большого количества пользователей (20 и более).

Это вопрос кодирования или вопрос сервера? Ответом на оба вопроса может быть использование пула соединений с базой данных, но то, как вы это сделаете, зависит от слишком большого количества переменных, на которые я не могу ответить, основываясь на том, что вы нам сказали.