Jump to content


Photo
- - - - -

Превышение нагрузки на хостинг

хостинг map api google map

Best Answer SmetDenis , 14 March 2014 - 10:48

Я подправил файл jbuniversal\framework\models\jbmodel.values.php
Можете сравнить его с оригиналом (в totalCmd или notepad++ есть инструмент для этого).

Проблема была что, Joomla 2.5 не мог работать с названием группы, где используется слеш. Для большинства сайтов это не критично. Обязательно исправлю к следующему релизу. Go to the full post


  • This topic is locked This topic is locked
22 replies to this topic

#1 Den_mrt

Den_mrt
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 09 March 2014 - 16:35

Добрый день.

Имею сайт с метками на гугл карте.

Недавно сделал вывод нескольких точек на одной карте (от 30 до 300) и таких страниц около 50ти (а планируется больше). Данные берутся из элемента уже координатами, без запроса к гуглу или другим сервисам геокодинга. Сама карта, при открытии страницы, грузит достаточно быстро, без проблем.

 

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

  1. # 709s user time, 2.1s system time, 26.04M rss, 204.74M vsz
  2. # Current date: Sun Mar  9 11:18:05 2014
  3. # Hostname: mysql5.ihc.ru
  4. # Files: /var/log/mysql-slow.log-20140308
  5. # Overall: 7.46k total, 14 unique, 0.09 QPS, 0.01x concurrency ___________
  6. # Time range: 2014-03-07 04:03:01 to 2014-03-08 03:57:50
  7. # Attribute          total     min     max     avg     95%  stddev  median
  8. # ============     ======= ======= ======= ======= ======= ======= =======
  9. # Exec time          1229s     2ms      3s   165ms   219ms    93ms   171ms
  10. # Lock time             6s    26us   488ms   847us   657us    10ms   113us
  11. # Rows sent          9.48M       1 139.85k   1.30k   5.45k   3.04k  329.68
  12. # Rows examine     329.57M    1011 139.85k  45.26k  56.74k  16.80k  49.01k
  13. # Rows affecte           0       0       0       0       0       0       0
  14. # Rows read        329.57M    1011 139.85k  45.26k  56.74k  16.80k  49.01k
  15. # Bytes sent       769.05M     108  80.68M 105.62k 328.61k   1.28M  17.59k
  16. # Query size         5.84M      78   1.17k  820.88   1.09k  129.33  755.64
  17.  
  18. # Profile
  19. # Rank Query ID           Response time  Calls R/Call V/M   Item
  20. # ==== ================== ============== ===== ====== ===== ==============
  21. #    1 0x6EA2DABC851E62FC 897.9274 73.1%  4934 0.1820  0.01 SELECT jos_zoo_item jos_zoo_jbzoo_index_card
  22. #    2 0xBA1D7123A3AA9D32 310.2388 25.2%  1484 0.2091  0.03 SELECT jos_zoo_item jos_zoo_jbzoo_index_card
  23. # MISC 0xMISC              20.5734  1.7%  1038 0.0198   0.0 <12 ITEMS>
  24.  
  25. # Query 1: 0.06 QPS, 0.01x concurrency, ID 0x6EA2DABC851E62FC at byte 74780414
  26. # This item is included in the report because it matches --limit.
  27. # Scores: V/M = 0.01
  28. # Time range: 2014-03-07 04:03:01 to 2014-03-08 03:54:45
  29. # Attribute    pct   total     min     max     avg     95%  stddev  median
  30. # ============ === ======= ======= ======= ======= ======= ======= =======
  31. # Count         66    4934
  32. # Exec time     73    898s   141ms      1s   182ms   208ms    45ms   171ms
  33. # Lock time     57      4s    75us   420ms   741us   301us     9ms   108us
  34. # Rows sent      9 960.08k      67     334  199.26  329.68  131.89   65.89
  35. # Rows examine  72 240.07M  49.57k  50.09k  49.82k  49.01k       0  49.01k
  36. # Rows affecte   0       0       0       0       0       0       0       0
  37. # Rows read     72 240.07M  49.57k  50.09k  49.82k  49.01k       0  49.01k
  38. # Bytes sent     7  57.11M   5.45k  18.37k  11.85k  17.59k   6.20k   5.20k
  39. # Query size    62   3.64M     774     774     774     774       0     774
  40. # String:
  41. # Databases    название базы
  42. # Hosts
  43. # Last errno   0
  44. # Users        название базы
  45. # Query_time distribution
  46. #   1us
  47. #  10us
  48. # 100us
  49. #   1ms
  50. #  10ms
  51. # 100ms  ################################################################
  52. #    1s  #
  53. #  10s+
  54. # Tables
  55. #    SHOW TABLE STATUS FROM `название базы` LIKE 'jos_zoo_item'\G
  56. #    SHOW CREATE TABLE `название базы`.`jos_zoo_item`\G
  57. #    SHOW TABLE STATUS FROM `название базы` LIKE 'jos_zoo_jbzoo_index_card'\G
  58. #    SHOW CREATE TABLE `название базы`.`jos_zoo_jbzoo_index_card`\G
  59. # EXPLAIN /*!50100 PARTITIONS*/
  60. SELECT tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s AS value,
  61.         tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s AS text,
  62.         COUNT(tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s) AS count
  63. FROM jos_zoo_item AS tItem
  64. INNER JOIN jos_zoo_jbzoo_index_card AS tIndex ON tIndex.item_id = tItem.id
  65.  
  66. WHERE tItem.access IN (1)
  67.  AND tItem.state = '1'
  68.  AND (tItem.publish_up = '0000-00-00 00:00:00' OR tItem.publish_up <= '2014-03-07 01:22:42')
  69.  AND (tItem.publish_down = '0000-00-00 00:00:00' OR tItem.publish_down >= '2014-03-07 01:22:42')
  70.  AND tItem.searchable = '1'
  71.  AND tItem.type = 'card'
  72.  AND tItem.application_id = '5'
  73.  AND tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s <> ""
  74.  AND tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s IS NOT NULL
  75.  
  76. GROUP BY tIndex.e_97ea4c26aea54cbfa30434e52f766cda_s\G
  77.  
  78. # Query 2: 0.02 QPS, 0.00x concurrency, ID 0xBA1D7123A3AA9D32 at byte 1602742293
  79. # This item is included in the report because it matches --limit.
  80. # Scores: V/M = 0.03
  81. # Time range: 2014-03-07 08:34:27 to 2014-03-08 03:54:45
  82. # Attribute    pct   total     min     max     avg     95%  stddev  median
  83. # ============ === ======= ======= ======= ======= ======= ======= =======
  84. # Count         19    1484
  85. # Exec time     25    310s   176ms      2s   209ms   241ms    79ms   189ms
  86. # Lock time     28      2s    80us   488ms     1ms   384us    14ms   108us
  87. # Rows sent     85   8.09M   5.58k   5.58k   5.58k   5.58k       0   5.58k
  88. # Rows examine  25  85.66M  59.11k  59.11k  59.11k  59.11k       0  59.11k
  89. # Rows affecte   0       0       0       0       0       0       0       0
  90. # Rows read     25  85.66M  59.11k  59.11k  59.11k  59.11k       0  59.11k
  91. # Bytes sent    63 490.84M 338.70k 338.70k 338.70k 338.70k       0 338.70k
  92. # Query size    18   1.10M     774     774     774     774       0     774
  93. # String:
  94. # Databases    название базы
  95. # Hosts
  96. # Last errno   0
  97. # Users        название базы
  98. # Query_time distribution
  99. #   1us
  100. #  10us
  101. # 100us
  102. #   1ms
  103. #  10ms
  104. # 100ms  ################################################################
  105. #    1s  #
  106. #  10s+
  107. # Tables
  108. #    SHOW TABLE STATUS FROM `название базы` LIKE 'jos_zoo_item'\G
  109. #    SHOW CREATE TABLE `название базы`.`jos_zoo_item`\G
  110. #    SHOW TABLE STATUS FROM `название базы` LIKE 'jos_zoo_jbzoo_index_card'\G
  111. #    SHOW CREATE TABLE `название базы`.`jos_zoo_jbzoo_index_card`\G
  112. # EXPLAIN /*!50100 PARTITIONS*/
  113. SELECT tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s AS value,
  114.         tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s AS text,
  115.         COUNT(tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s) AS count
  116. FROM jos_zoo_item AS tItem
  117. INNER JOIN jos_zoo_jbzoo_index_card AS tIndex ON tIndex.item_id = tItem.id
  118.  
  119. WHERE tItem.access IN (1)
  120.  AND tItem.state = '1'
  121.  AND (tItem.publish_up = '0000-00-00 00:00:00' OR tItem.publish_up <= '2014-03-07 16:48:46')
  122.  AND (tItem.publish_down = '0000-00-00 00:00:00' OR tItem.publish_down >= '2014-03-07 16:48:46')
  123.  AND tItem.searchable = '1'
  124.  AND tItem.type = 'card'
  125.  AND tItem.application_id = '5'
  126.  AND tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s <> ""
  127.  AND tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s IS NOT NULL
  128.  
  129. GROUP BY tIndex.e_c716cbee7b914af2a3ec05c348bbd2c8_s\G

Подскажите в чем может быть проблема, как уменьшить нагрузку? 


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 10 March 2014 - 06:07

Добрый день.

 

Сколько у вас материалов на сайте?

Пробовали включать кеш?

Зачем вам 300 точек на одной карте? Сама страница будет весить довольно много.

Какой размер таблицы jos_zoo_jbzoo_index_card?

Сколько очков показывает тест производительности по базы данных?


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Den_mrt

Den_mrt
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 11 March 2014 - 05:27

1) материалов 13к, категорий наверное штук 300

2) включен

3) такая задумка, пробую реализовать, не получится будет грустно

4) 19мб

5) как и чем сделать этот тест ? 

 

вспомнил про тест JBZoo, если его имели ввиду то:

Работа сайта в целом 36 0

Процессор 11 0

База данных 19 0

Почтовая система 75 0

Файловая система -6 0

Итого попугаев  17 0 

Тестов провалено 12 0
 

красные строчки в MySQL — Скорость работы базы данных

10 000 Select и Fetch с помощью Joomla API
Время выполнения SELECT 10 000 записей и их циклического перебора 0.038 0.030 сек Чтение из базы (в комплексе)
Используется наполненная и проиндексированная таблица 4 484 7 800 Запись в базу данных (в комплексе)
Используется наполненная и проиндексированная таблица 4 245 5 600 Изменение базы данных (в комплексе)
Используется наполненная и проиндексированная таблица 4 360 5 800

Edited by Den_mrt, 11 March 2014 - 05:40.

  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 11 March 2014 - 08:28


Выбрать из 13 000 материалов 300 точек - это простое дело.
Обычно база данных в тестах показывает более лучшие результаты чем у вас.
От количества категорий скорость подобных запросов не зависит.

Видимо у вас шаред хостинг?
По моему, нагрузка на сервер появляется только тогда когда обновляется кеш сайта.
Можно попробовать использовать в качестве кеша APC, memcache, xcache (в настройках Joomla) вместо файловой системы.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Den_mrt

Den_mrt
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 11 March 2014 - 14:06

SmetDenis, on 11 Mar 2014 - 07:28, said:

Видимо у вас шаред хостинг?
По моему, нагрузка на сервер появляется только тогда когда обновляется кеш сайта.
Можно попробовать использовать в качестве кеша APC, memcache, xcache (в настройках Joomla) вместо файловой системы.

попробую предложенные варианты, протестирую, отпишусь.


Edited by Den_mrt, 11 March 2014 - 14:25.

  • 0

#6 Den_mrt

Den_mrt
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 11 March 2014 - 15:04

Quote

Можно попробовать использовать в качестве кеша APC, memcache, xcache (в настройках Joomla) вместо файловой системы. 

Нет такого в настройках джумлы, есть только в "файл". 

Погуглил что то не нашел ответа.


  • 0

#7 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 11 March 2014 - 15:07

Den_mrt, on 11 Mar 2014 - 14:04, said:

Нет такого в настройках джумлы, есть только в "файл". 
Погуглил что то не нашел ответа.


Видимо у вас нет поддержки этих модулей на хостинге
x7u_200x0.png

Они появляются в списке если включены.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 Den_mrt

Den_mrt
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 11 March 2014 - 15:38

Странно, но до того как написать ответ, уточнял у хостера этот вопрос, они сказали все включено, тк пока гуглил видел этот список.

Видимо надо еще раз спросить.


  • 0

#9 Den_mrt

Den_mrt
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 36
  • topics: 7

Posted 11 March 2014 - 17:53

Видимо все таки нет этой возможности, ответ такой прислали

Quote

Для Вашего аккаунта установлен и используется кеширующий модуль eaccelerator, eAccelerator сохраняет скомпилированные PHP скрипты в разделяемой памяти и запускает код непосредственно из нее, что позволяет существенно оптимизировать работу используемых скриптов.

 

 

Еще варианты решения проблемы есть ? 


  • 0

#10 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 11 March 2014 - 17:55

Den_mrt, может быть стоит сменить тарифный план на хостинге? 


  • 0
Изображение
 





Also tagged with one or more of these keywords: хостинг, map, api, google map

Click to return to top of page in style!