Автор Тема: MVC framework #43 – Benchmark  (Прочетена 898 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
MVC framework #43 – Benchmark
« -: 24 Януари 2013, 05:36:06 »
** Тази тема дискутира:: MVC framework #43 – Benchmark**
Автор: gatakka
« Последна редакция: 16 Април 2015, 22:37:53 от Avalanche »
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

biserstoilov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 1
Re: MVC framework #43 – Benchmark
« Отговор #1 -: 30 Юни 2015, 17:58:59 »
Иван, най-напред благодаря за прекрасната серия.
Относно теста на скоростта - пуснах Benchmark-а на i7 - 3.50GHz, 8 GB RAM, Ubuntu 15.04 и прекарах сесиите през таблици на MyISAM и InnoDB - разликата е огромна.

MyISAM:
Concurrency Level:      5
Time taken for tests:   0.379 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      608000 bytes
HTML transferred:       169000 bytes
Requests per second:    2640.47 [#/sec] (mean)
Time per request:       1.894 [ms] (mean)
Time per request:       0.379 [ms] (mean, across all concurrent requests)
Transfer rate:          1567.78 [Kbytes/sec] received

InnoDB:
Concurrency Level:      5
Time taken for tests:   25.388 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      608000 bytes
HTML transferred:       169000 bytes
Requests per second:    39.39 [#/sec] (mean)
Time per request:       126.939 [ms] (mean)
Time per request:       25.388 [ms] (mean, across all concurrent requests)
Transfer rate:          23.39 [Kbytes/sec] received

Ще ми бъде интересен твоя коментар.

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2590
  • meow
Re: MVC framework #43 – Benchmark
« Отговор #2 -: 30 Юни 2015, 19:58:52 »
Здравей, Бисер,

Иван Ванков отдавна не се мярка насам, ако искаш директен контакт с него може да го намериш в сайта му www.gatakka.eu.

Сега по темата. MyISAM и InnoDB са доста различни сториджи, единия е добър за едни цели, другия е по-подходящ за друг - нито един от тях не е универсален и не върши перфектна работа във всички ситуации. Дай пояснение какви точно заявки се изпълняват
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Wanderer

  • Full Member
  • ***
  • Благодарности
  • -Казани: 4
  • -Получени: 26
  • Публикации: 196
Re: MVC framework #43 – Benchmark
« Отговор #3 -: 30 Юни 2015, 21:15:33 »
Код: Java
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4.  
  5. public class InsertBenchmark {
  6.     private static final int ITERATIONS = 1000;
  7.  
  8.     private static final String CREATE_TABLE = "CREATE TABLE benchmark ("//
  9.             + "id INT NOT NULL GENERATED ALWAYS as IDENTITY, " //
  10.             + "data VARCHAR(64) NOT NULL, "//
  11.             + "access_time BIGINT NOT NULL, " //
  12.             + "PRIMARY KEY (id)" + ")";//
  13.  
  14.     private static final String INSERT = "insert into benchmark (data, access_time) VALUES (?,?)";
  15.  
  16.     public static void main(String[] args) throws Exception {
  17.         Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
  18.         // Connection conn =
  19.         // DriverManager.getConnection("jdbc:derby:memory:dafault-db;create=true");
  20.         Connection conn = DriverManager
  21.                 .getConnection("jdbc:derby:/tmp/derby_" + System.currentTimeMillis() + ";create=true");
  22.  
  23.         PreparedStatement statement = conn.prepareStatement(CREATE_TABLE);
  24.         statement.executeUpdate();
  25.         statement.close();
  26.  
  27.         statement = conn.prepareStatement(INSERT);
  28.  
  29.         final long startTime = System.currentTimeMillis();
  30.         for (int i = 0; i < ITERATIONS; i++) {
  31.             statement.setString(1, "Some Very long string but less than ot equals to 64 characters.");
  32.             statement.setLong(2, System.nanoTime());
  33.             statement.executeUpdate();
  34.         }
  35.         final long endTime = System.currentTimeMillis();
  36.  
  37.         statement.close();
  38.         conn.close();
  39.  
  40.         System.out.println("Done: " + (endTime - startTime) + " ms");
  41.         System.out.println("Op/s: " + (ITERATIONS / (double) ((endTime - startTime) / 1000.0)));
  42.         System.out.println("Ms/op: " + ((endTime - startTime) / (double) ITERATIONS));
  43.     }
  44.  
  45. }
  46.  

На диска:
Done: 8633 ms
Op/s: 125.0
Ms/op: 8.633

В паметта:
Done: 331 ms
Op/s: 3021.1480362537764
Ms/op: 0.331
“You must make the Journey along the road, nobody is able to do it for you!”