|
|
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Добрый день всем, честно говоря я не профи в настройке mysql но после переноса части сайтов мускул стал грузить процессор под 300-500 процентов что и заставило меня полезть в более глубокую настройку. Временные файлы вынес уже в ОЗУ, таблицы чекал раза четыре и разными способами но количество фрагментированных таблиц остается в пределах 300-500 таблиц, как ни крути. Не знаю почему, но вопрос в другом. Следую плавно советам mysqltuner и подкручиваю значения, паралелльно читая что за что отвечает и где какие должны быть оптимальные значения но уже начинаю волноватся за некоторые параметры которые кажутся "большими" скромно говоря. Можете проверить и подсказать что где не так или на что стоит обратить внимание, буду очень признателен. вот содержимое файла my.cnf Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. вот что выдает myslqtuner Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. вот что творится в топе Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. в целом в данный момент показатели вроде в норме но иногда без видимой причины резко растет la и вырастает до 20, иногда до 50 и mysqltuner выдает совет увеличить query_cache_limit = 18M query_cache_size = 896M которые на мой взгляд уже нереально большие обосновывая это большим количеством Query cache prunes per day Баз на сервере очень много, 32гб памяти, поэтому все так сложно. Подскажите, буду очень признателен за любые советы и мнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2015, 23:52 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
автор[!!] Joins performed without indexes: 1227 [!!] Temporary tables created on disk: 42% (12K on disk / 28K total) запросы кривые зело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2015, 23:57 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
авторlong_query_time = 2 ..................... [--] Up for: 29m 5s (523K q [300.139 qps] [OK] Slow queries: 1% (10K/523K) Грубо говоря, пять запросов в секунду, каждый работает по две секунды минимум... В создавшейся ситуации минимум десяток процессорных ядер должны обрабатывать эти медленные запросы. Собственно, можно начинать с просмотра лога медленных запросов и их оптимизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 01:08 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Prahaquery_cache_limit = 18M query_cache_size = 896M Владимир, ради опыта, попробуйте сделать так: Код: sql 1. 2. и расскажите нам, как себя будет вести mysql? И не обращайте внимание на "Query cache prunes per day". Вполне возможно, Вы будете приятно удивлены. При настройке mysql нужно исходить из предпоссылки: излишне увеличенные параметры НЕ способствуют увеличению производительности поскользу вносят дополнительные накладные расходы. Насмотря на имеющуюся в системе свободную память. Например: Vladimir_Praha[OK] Key buffer size / total MyISAM indexes: 3.0G/1.5G Зачем Вам 3G Key buffer size, если у Вас всего индексов 1.5G??? Я бы поставил размер Key buffer size в 80% от размера индексов: в буфер должны попасть наиболее часто испульзуемые данные, а не те, которые будут нужны раз в год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 10:33 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
VGreyVladimir_Prahaquery_cache_limit = 18M query_cache_size = 896M Владимир, ради опыта, попробуйте сделать так: Код: sql 1. 2. и расскажите нам, как себя будет вести mysql? И не обращайте внимание на "Query cache prunes per day". Вполне возможно, Вы будете приятно удивлены. При настройке mysql нужно исходить из предпоссылки: излишне увеличенные параметры НЕ способствуют увеличению производительности поскользу вносят дополнительные накладные расходы. Насмотря на имеющуюся в системе свободную память. Например: Vladimir_Praha[OK] Key buffer size / total MyISAM indexes: 3.0G/1.5G Зачем Вам 3G Key buffer size, если у Вас всего индексов 1.5G??? Я бы поставил размер Key buffer size в 80% от размера индексов: в буфер должны попасть наиболее часто испульзуемые данные, а не те, которые будут нужны раз в год. Спасибо огромное за конкретные советы, закомментировал сейчас query_cache_limit и выставил query_cache_size в 32мб, заодно Key buffer size подправил на 2гб, перезапустил и посмотрим что получится. Еще заодно расскоментировал вот эти строчки: interactive_timeout = 28800 wait_timeout = 28800 thread_concurrency = 10 Надеюсь что этим ничего не испорчу, но если что пишите, сразу уберу. Пока сажусь мониторить работу базы. Честно говоря устойчивой работы базы добивался но пугают "Query cache prunes per day" иногда достигающие несколько миллионов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 11:32 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Вот через 16 минут после рестарта с выше указанными параметрами, тюнер выдает такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Сам конфиг выглядит сейчас вот так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. В топе творится вот это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 11:45 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Причем я заметил что чем больше параметр query_cache_size тем позже появляются сообщения о Query cache prunes per day и тем их меньше. Но судя по наблюдениям он исчезнет если я выставлю несколько гигабайтов, что судя по мнениям которые нагуглил просто абсурд. Может другой какой то параметр на это еще может повлиять чтобы эти prunes не лезли с такой дикой активностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 11:49 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha, Joins performed without indexes: 1227 -- ВОТ ЭТО ГЛАВНОЕ! Включаешь slow query log, включаешь логирование запросов без индексов -- и вперёд, пахать, создавать индексы. Можно пойти и другим путём -- путём понимания -- просмотреть глазами всю схему и для каждой таблицы подумать, как с нею будут JOIN-иться, и создать индексы на условия JOIN-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 12:34 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
VGrey#query_cache_limit = 18M query_cache_size = 32M [/src] query_cache_size надо ставить в НОЛЬ а не в то, что вы там советуете. Эта хрень только мешает и память жрёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 12:36 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Поменял в ноль, теперь картина вроде честнее выглядит Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. но меня по прежнему беспокоит нагрузка на процессор дикая со стороны мускула Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. можно на это как то повлиять или с этим просто жить придется? Медленные запросы переделывать не вариант, так как сайтов огромное количество и многие из них не мои, поэтому ищу как вывернутся оптимизацией именно этих настроек (спасибо всем за понимание и заранее извиняюсь что игнорирую такие советы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 14:18 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha, Много ли запросов на модификацию данных? query_cache_size не стоит делать слишком большим, т.к. его частичная очистка при модификации данных становится слишком дорогой. Устанавливать его в ноль, имхо, имеет смысл только если доля запросов на модификацию данных очень велика. По моим наблюдениям, во многих случаях оптимальное значение находится в районе 64-256 Мбайт. Попробуйте его по варьировать и посмотреть на Query cache efficiency. И нельзя ли все MyISAM-таблицы перевести в InnoDB ? max_heap_table_size и tmp_table_size, как правило, делают одинаковыми. Если запросы, которые создают временные таблицы на диске, не поддаются оптимизации, то эти параметры можно попробовать увеличить. Но лучше таки попытаться оптимизировать запросы. Возможно, нужно досоздать индексов (на это, кстати, указывает тот факт, что MyISAM-индексов всего 1.5G при 11G данных) или переписать запросы. Начните с тех запросов, который попадают в Slow queries log. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 15:57 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Еще вариант, поскольку памяти навалом, использовать Tmpfs для временных файлов MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 15:58 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha Код: sql 1. 2. Тоже имеет смысл попробовать. http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_join_buffer_size Increase the value of join_buffer_size to get a faster full join when adding indexes is not possible. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 16:03 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
miksoftЕще вариант, поскольку памяти навалом, использовать Tmpfs для временных файлов MySQL. они итак уже там если не ошибаюсь join_buffer_size если начинаю увеличивать то это становится похоже на бездонную бочку, сперва пишет join_buffer_size > 256.0K если подкручу то join_buffer_size > 512.0K и так далее до бесконечности, я уже побоялся там выставлять большие параметры типа 50мегабайт и так далее, хотя может и ошибаюсь и ничего страшного нет, правда я не понимаю как определить разницу или понять стало лучше или хуже. max_heap_table_size и tmp_table_size сделал одинаковыми, 512 выставил у обоих. Еще раз спасибо большое за конкретные и дельные советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 17:41 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
query_cache_size если делаю небольшим то очень быстро буквально за 10-20 минут появляется огромное количество prunes а при увеличении все улучшается, по наблюдениям при параметре query_cache_size порядка 756мб или даже 1гб перестают появлятся prunes но мне субьективно кажется что сервер через сутки более туповат или просто кажется что параметр слишком завышен, но в общем боюсь пока с ним экспериментировать, поэтому лучше всего как советовали выше выставил 0 и пытаюсь решить другие узкие места. В данное время все вроде нормально, единственно меня беспокоит большая нагрузка на процессор, топ постоянно показывает цифры в районе 300-550%, что несомненно слишком много и как эту нагрузку снять или что улучшить ума не приложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 18:38 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Prahaединственно меня беспокоит большая нагрузка на процессор, топ постоянно показывает цифры в районе 300-550%, что несомненно слишком много и как эту нагрузку снять или что улучшить ума не приложу.Лог медленных запросов смотрели? Их количество в общем потоке весьма ощутимо. Пока не разберётесь с наиболее часто повторяющимися, отжирающими значительные ресурсы, нагрузка так и будет высокой. Утилитка mysqldumpslow может оказаться весьма полезной. Vladimir_Prahaquery_cache_size если делаю небольшим то очень быстро буквально за 10-20 минут появляется огромное количество prunes а при увеличении все улучшается, по наблюдениям при параметре query_cache_size порядка 756мб или даже 1гб перестают появлятся prunesНе вижу смысла хранить абсолютно все данные в кеше. Особенно те, на получение которых тратится мало ресурсов. Поставьте значение в несколько мегабайт или в несколько десятков мегабайт и сохраните статистику использования кеша за пару дней. Если после двукратного увеличения размера кеша (не трогая другие параметры) ситуация в следующую пару дней заметно не улучилась, то нет смысла пытаться далее увеличивать размер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 19:57 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_PrahamiksoftЕще вариант, поскольку памяти навалом, использовать Tmpfs для временных файлов MySQL.они итак уже там если не ошибаюсьВозможно, я что-то пропустил, но не вижу как это следует из представленных данных. Если оно реально так, то с загрузкой CPU, не трогая запросов и индексов, имхо, уже ничего не сделаешь. Разумеется те или иные параметры влияют на то, сколько временных файлов вывалится на диск. Но если диск находится в оперативке, то изменение этих параметров не даст существенного улучшения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 21:58 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. выше конфиг выкладывал, там указано что tmpdir = /dev/shm или мы о разных вещах говорим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 22:00 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
авторв буфер должны попасть наиболее часто испульзуемые данные, а не те, которые будут нужны раз в год бред. раз в год так можно положить сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 22:05 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
авторquery_cache_size надо ставить в НОЛЬ а не в то, что вы там советуете. Эта хрень только мешает и память жрёт. перестаньте давать явно неправильные ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 22:06 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
автор[OK] Query cache efficiency: 64.7% (284K cached / 439K selects) [OK] Query cache prunes per day: 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 22:06 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Prahaвыше конфиг выкладывал, там указано что tmpdir = /dev/shmПохоже, что оно. А занятое место меняется во время работы MySQL? Там появляются временные файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 22:13 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
miksoftVladimir_Prahaвыше конфиг выкладывал, там указано что tmpdir = /dev/shmПохоже, что оно. А занятое место меняется во время работы MySQL? Там появляются временные файлы? да файлы появляются, занятое место постоянно меняется, но там совсем немного, от 0 до 400мб что я пока видел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 23:58 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
подправил конфиг, сам обнаружил что table cache почему то дважды в конфиге фигурирует, плюс еще чуток подкрутил, перезапустил, пока все выглядит более чем ободряюще но боюсь утром опять будет куча восклицательных знаков а главное нагрузка на процессор осталась на месте, но тюнер пока что выдает вот это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. смотрю в топ и визуально кажется что база теперь меньше грузит процессор, ибо показания все чаще мелькают в диапазоне 120-300% но это все равно многовато, завтра буду думать дальше как это побороть Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. на данный момент конфиг выглядит вот так, поэтому если у кого будут какие умные мысли буду очень признателен Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 00:13 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
ну вот, при кеше в 128мб уже через 15 минут полезли prunes Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Сейчас поставлю 256 но уверен что и этого будет мало и будет просить дальше, до примерно отметки в 1гб (1гб долго не гонял, возможно и там будет лезть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 00:18 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
при 256мб через 15 минут уже гораздо меньше количество prunes но они все равно есть Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Если поставлю 512 то они все равно появятся, но поменьше и попозже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 00:36 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
вот при query_cache_size = 512M через 15 минут что тюнер показывает -------- Performance Metrics ------------------------------------------------- [--] Up for: 15m 20s (287K q [312.220 qps], 10K conn, TX: 1B, RX: 34M) [--] Reads / Writes: 94% / 6% [--] Total buffers: 4.8G global + 6.6M per thread (300 max threads) [OK] Maximum possible memory usage: 6.7G (21% of installed RAM) [OK] Slow queries: 1% (4K/287K) [OK] Highest usage of available connections: 11% (33/300) [OK] Key buffer size / total MyISAM indexes: 2.0G/1.5G [OK] Key buffer hit rate: 100.0% (565M cached / 171K reads) [OK] Query cache efficiency: 64.2% (157K cached / 245K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (119 temp sorts / 34K sorts) [!!] Joins performed without indexes: 422 [!!] Temporary tables created on disk: 41% (7K on disk / 17K total) [OK] Thread cache hit rate: 99% (33 created / 10K connections) [OK] Table cache hit rate: 25% (3K open / 15K opened) [OK] Open file limit used: 44% (7K/16K) [OK] Table locks acquired immediately: 99% (101K immediate / 101K locks) [OK] InnoDB data size / buffer pool: 1.5G/2.0G -------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance MySQL started within last 24 hours - recommendations may be inaccurate Adjust your join queries to always utilize indexes Temporary table size is already large - reduce result set size Reduce your SELECT DISTINCT queries without LIMIT clauses Variables to adjust: join_buffer_size (> 4.0M, or always use indexes with joins) но беда в том, что к утру все равно prunes полезут, пусть их меньше будет но будут. Думаю проведу эксперимент, поставлю 1гб и посмотрю что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 00:54 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Prahaвот при query_cache_size = 512M через 15 минут ... но беда в том, что к утру все равно prunes полезут, пусть их меньше будет но будут. Думаю проведу эксперимент, поставлю 1гб и посмотрю что будет. Vladimir_Praha , определитесь, Вам нужны красивые показатели тюнера, или быстрая работа mysql? Еще раз повторяюсь: не смотрите на "Query cache efficiency" и "Query cache prunes per day", эти показатели были важны на системах с одним ядром. У Вас же, надеюсь, это не так? Петр Зайцев в одном из своих выступлений говорил, что чаще всего, оптимальное значение query_cache_size меньше 128М. Как по мне, авторитет Зайцев существенно выше Major Hayden. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 09:42 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
VGreyVladimir_Prahaвот при query_cache_size = 512M через 15 минут ... но беда в том, что к утру все равно prunes полезут, пусть их меньше будет но будут. Думаю проведу эксперимент, поставлю 1гб и посмотрю что будет. Vladimir_Praha , определитесь, Вам нужны красивые показатели тюнера, или быстрая работа mysql? Еще раз повторяюсь: не смотрите на "Query cache efficiency" и "Query cache prunes per day", эти показатели были важны на системах с одним ядром. У Вас же, надеюсь, это не так? Петр Зайцев в одном из своих выступлений говорил, что чаще всего, оптимальное значение query_cache_size меньше 128М. Как по мне, авторитет Зайцев существенно выше Major Hayden. ядра четыре, я вас понял еще в первый раз но все пытался избавится от prunes но раз говорите игнорировать то буду игнорировать. Посмотрим что будет в долгосрочной перспективе. Еще сейчас обнаружил странную деталь, сервер плавно начал грузится по ЛА а когда показатели стали жуткими я выключил демон сперва мускула, потом апача но картинка стала еще хуже: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Что может грузить сервер так сильно? Повторюсь что mysql и apache были выключены, никаких бэкапов не работало (проверял) и больше ничего насколько я знаю на сервере не имеется, что это могло быть? И как обнаружить причину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 12:23 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Вероятно, кроме мускуля и апача на сервере ещё много чего работает. автор Код: sql 1. Количество процессов сейчас стало заметно больше по сравнению с предыдущими (307-315). Обычно, на ничего не делающем сервере количество запущенных процессов не превышает сотню-полторы. Возможно, это какие-то зависшие задания, запущенные из крона. Top в таком случае мало чего покажет, посмотрите полный список процессов ps, наверняка, увидите что-то. Может, есть смысл перезагрузить сервер, чтоб начать наблюдение "с чистого листа"?автор Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 15:55 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
vkleВероятно, кроме мускуля и апача на сервере ещё много чего работает. автор Код: sql 1. Количество процессов сейчас стало заметно больше по сравнению с предыдущими (307-315). Обычно, на ничего не делающем сервере количество запущенных процессов не превышает сотню-полторы. Возможно, это какие-то зависшие задания, запущенные из крона. Top в таком случае мало чего покажет, посмотрите полный список процессов ps, наверняка, увидите что-то. Может, есть смысл перезагрузить сервер, чтоб начать наблюдение "с чистого листа"?автор Код: sql 1. спасибо большое, вы правы, перезапущу и попробую смотреть через ps ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 17:30 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
еще пока ковырялся в конфиге внимательно то обнаружил две строчки table_open_cache и table_cache а потом узнал что это одно и то же, просто в версии 5.13 переименовали, сейчас закомментировал одну, уже нерабочую по идее, посмотрим, если не испорчу чего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 17:32 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
VGreyПетр Зайцев в одном из своих выступлений говорил, что чаще всего, оптимальное значение query_cache_size меньше 128М. Как по мне, авторитет Зайцев существенно выше Major Hayden. Так этот скрипт тоже выводит рекомендацию про query_cache <= 128M. Посмотрите внимательно. Раньше не выводил, но мне кажется уже несколько лет выводит. Все равно эти танцы с параметрами ничего вам не дадут. Они популярны, потому что все остальные меры оптимизации сложны. Про результативность ничего не говорится в многочисленных статьях и советах. авторЕще сейчас обнаружил странную деталь, сервер плавно начал грузится по ЛА а когда показатели стали жуткими я выключил демон сперва мускула, потом апача но картинка стала еще хуже: Теперь видно, что процессы ruby "сбесились". Ребут - неплохая идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 19:16 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha , Прочесс оптимизации чего-либо, в частности, mysql, должен состоять из нескольких шагов, например: 1) Определяем цель(цели). Например: - максимально быстрая работа; - минимальная нагрузка на систему; - максимальное соответствие рекомендациям mysqltuner. Обратите внимание, все три приведенные для примера цели могут противоречить друг дгугу. Думаю, очевидно, что максимально быстрая работа и минимальная нагрузка взаимо исключающие требования Еще нюанс - скорее всего, целей будет несколько и нужно будет расставить приоритеты между ними. Например, минимальную нагрузку можно получить просто выключив мскул. 2) Если цели поставлены, определяемся с механизмами контроля достижения цели. Чем, когда и в каких единицах измерять нагрузку на систему? Речь идет о нагрузке на проц, на дисковую систему, на память, еще на что? Чем измерять быстродействие mysql? sysbench, скорость генерации страницы, наличие и количество записей в log_slow_queries, еще какой способ? 3) Измеряем текущее состояние и проверяем достижение цели. Может, у нас и так все в лучшем виде и ничего больше делать не нужно. 4) Выдвигаем предположение. Наприер, предположение: mysql работает меделнно по причине локов в слишком большом query_cache. 5) Меняем соответствующий параметр. 6) Проверяем правильность предположения - то есть, переходим к шагу 3). Vladimir_Praha , что Вы хотите получить от mysql? Как Вы измеряете эту хотелку? Не субьективно ли, случаем? И последний вопрос: причина Ваших проблем точно в mysql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 09:10 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
VGrey, Хороший вопрос, изначально было два сервера, но в связи с кризисом и прочими событиями с рублем один значительно прохудился и было принято решение свезти все хозяйство на один сервер. После того как перевезли 2/3 хозяйства заметили что LA с обычных 3-4 резко подскочил до 30-40 что и вызвало беспокойства и попытки выяснить где слабое место. Так как в топе из всех процессов только мускул всегда был лидером с его 300-550% загрузкой процессора то и решения где искать слабое место собственно не было - взор пал автоматически туда. Да и остальное (апач и нгинкс не вызывали причин для беспокойства) честно говоря. После была взята утилита mysqltuner и была предпринята попытка соответствовать ее требованиям, но в процессе обсуждений я разузнал очень много в том числе и то, что она не показатель идеальности настроек мускула, в итоге я вчера игрался с настройками кэша пытаясь его обуздать но в итоге от этих манипуляций отказался и просто слегка увеличил join_buffer_size до 24мб. Ну и перезагрузил систему как тут советовали. В итоге на сервере порядка 200 вордпресс блогов, на каждый еще в течение сегодняшнего дня был установлен кэширующий плагин показатели следующие: top - 02:25:00 up 4:30, 1 user, load average: 5.79, 5.55, 5.48 Tasks: 162 total, 6 running, 155 sleeping, 0 stopped, 1 zombie Cpu(s): 34.4%us, 12.2%sy, 0.0%ni, 52.2%id, 1.1%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 32703444k total, 31806544k used, 896900k free, 2569504k buffers Swap: 33553332k total, 3216k used, 33550116k free, 21218508k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2632 mysql 20 0 4934m 4.6g 12m S 105 14.8 518:41.60 mysqld 31002 www-data 20 0 290m 76m 7168 R 55 0.2 0:31.10 apache2 32554 www-data 20 0 0 0 0 Z 47 0.0 0:03.91 apache2 <defunct> 32544 www-data 20 0 274m 62m 6348 S 23 0.2 0:10.29 apache2 32526 www-data 20 0 266m 54m 6628 S 19 0.2 0:24.24 apache2 32530 www-data 20 0 289m 73m 5612 S 19 0.2 0:12.70 apache2 32552 www-data 20 0 265m 54m 6144 R 18 0.2 0:06.92 apache2 32556 www-data 20 0 277m 63m 5448 S 18 0.2 0:01.81 apache2 32417 www-data 20 0 276m 64m 7280 R 17 0.2 0:55.38 apache2 32549 www-data 20 0 266m 54m 5832 R 15 0.2 0:07.54 apache2 32514 www-data 20 0 283m 72m 7236 S 9 0.2 0:32.93 apache2 32550 www-data 20 0 267m 54m 5744 S 9 0.2 0:04.02 apache2 32528 www-data 20 0 276m 64m 6500 S 7 0.2 0:21.35 apache2 32448 www-data 20 0 278m 66m 6784 S 7 0.2 0:53.80 apache2 32527 www-data 20 0 275m 62m 6284 S 2 0.2 0:19.64 apache2 31876 www-data 20 0 276m 63m 7272 S 1 0.2 0:52.85 apache2 227 root 20 0 0 0 0 S 0 0.0 0:05.81 kworker/4:1 1305 redis 20 0 26212 1588 680 S 0 0.0 0:02.50 redis-server 1809 gitlab 20 0 919m 104m 2920 S 0 0.3 0:29.54 ruby1.9.1 8576 www-data 20 0 45996 17m 1824 S 0 0.1 0:06.44 nginx 8578 www-data 20 0 45920 17m 1804 S 0 0.1 0:06.52 nginx 31858 www-data 20 0 277m 63m 7288 S 0 0.2 0:48.72 apache2 32547 www-data 20 0 273m 61m 6176 S 0 0.2 0:07.81 apache2 32555 root 20 0 19120 1340 948 R 0 0.0 0:00.01 top 1 root 20 0 8404 704 668 S 0 0.0 0:01.22 init 2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd еще я выяснил что для 8-ядерного процессора показатель ла 5.5 это отлично ибо по единичке идет на каждый процессор следовательно для чистоты нужно 5.5 делить на 8 чтобы получить картинку от обычного ла, так что в остальном все уже просто замечательно и дальше просто буду мониторить состояние в долгосрочной перспективе. Еще есть с десяток блогов где базы больших размеров (от 500мб до 1.7гб) и сейчас я в раздумьях если сконвертировать майисам в иннодб снизит ли это нагрузку на процессор или нет, но это уже другой вопрос из другой оперы, поэтому мой вопрос похоже можно закрывать. Кому если будет любопытно могу еще раз скинуть уже готовый конфиг и показатели тюнера но я так понял все это сугубо индивидуально всегда. Посему еще раз всем большое спасибо за помощь и советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 01:28 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Prahaизначально было два сервера, но в связи с кризисом и прочими событиями с рублем один значительно прохудился и было принято решение свезти все хозяйство на один сервер.Не понятно, что означает термин "прохудился". Аргументы про кризисы и рубли практически не влияют на работоспособность серверов. А если и влияют, то экономия на грамотных программистах и толковых админах только усугубляет ситуацию, вынуждая приобретать ещё более мощный сервер. Тут либо экономить на всём подряд и уронить, либо экономить грамотно и осторожно. Разумеется, если каждый из двух серверов был очень слабо (менее, чем на 50%) загружен до стаскивания всего хозяйства на один из них, то можно рассматривать вариант стащить всё в одно место, но с большой оглядкой. Мне не совсем понятно ещё Ваше нежелание порыться в логе медленных запросов. Тут надо принять во внимание вот какой момент. Когда ЛА превышает количество ядер, а сами процессы долгоиграющие, то легко поставить сервер колом. Например, как уже было показано выше, на примере мускуля, за секунду в среднем отрабатывают пять запросов длительностью более двух секунд, то четырёх ядер для этого в долговременной перспективе недостаточно. Исключение - если все (или бОльшая часть) долгоиграйки работают от одного mysql-пользователя и аккуратненько встают в очередь выполнения. Если же они раскиданы по многим пользователям, то очереди не будет. В любом случае, есть смысл смотреть, кто конкретно "злоупотребляет" и принимать к нему меры. Даже, если это всего один пользователь из сотни - негоже ему одному отдавать целое процессорное ядро под его тормоза. А будет второй такой же злоупотребитель - ему второе... Иногда для исправления ситуации достаточно правильно поставить индексы. Далее. Предположим, что на каждом из 4-ядерных серверов до перетаскивания в среднем нормально работали, скажем грубо, две сотни пользовательских процессов + сотня для всяких системных служб. Итого 300, а одно ядро должно переключаться, образно говоря, между 75 процессами, выделяя каждому из них какие-то кванты времени. После переезда количество пользовательских удвоится и в сумме будет 500, значит, на одно ядро будет приходиться уже 125 процессов. Штука в том, что переключение ядра между контекстами процессов тоже требует некоторых затрат времени. Таким образом, можно вполне нарваться на ситуацию, когда до переезда загрузка каждого сервера была менее 50%, а после переезда стала более 100%. Это очень упрощенное и грубое описание, конечно. Если упрощенно, то при неизменной очереди входящих запросов серверные процессы не будут успевать отрабатывать в приемлемый отрезок времени. Отсюда и лавинообразное возрастание ЛА возможно вполне. Ах да, ещё и благодарные пользователи, не получив в приемлемое время свою страничку, начнут F5 жмакать, отправляя дополнительные запросы... Vladimir_Prahaеще я выяснил что для 8-ядерного процессора показатель ла 5.5 это отлично ибо по единичке идет на каждый процессорВ общем, да, для долговременной работы можно ориентироваться на такие или немного большие цифры. Конечно, в реальной жизни вполне могут быть относительно безболезненные кратковременные скачки до 15...20 (первое число в ЛА). Vladimir_PrahaЕще есть с десяток блогов где базы больших размеров (от 500мб до 1.7гб) и сейчас я в раздумьях если сконвертировать майисам в иннодб снизит ли это нагрузку на процессор или нетЕсли размер ОЗУ позволяет держать все таблицы целиком в памяти, то можно ожидать разгрузки дискового ввода/вывода (не придётся при чтении лазить по каждому чиху на диск) и некоторой экономии на понижении времени ожидания дисковых операций. Однако, сложно сказать, действительно ли при майисаме происходит фактическое обращение к диску при выполнении запроса. Результат то может быть и из кеша запросов отдан или таблица столь популярна, что не успевает вымываться из дискового буфера. Тут надо очень тщательно анализировать перед изменением типа таблицы. Иннодб работает медленнее не просто так. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 03:20 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
vkleИсключение - если все (или бОльшая часть) долгоиграйки работают от одного mysql-пользователя и аккуратненько встают в очередь выполнения.В MySQL разве есть такой механизм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 03:29 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
miksoftvkleИсключение - если все (или бОльшая часть) долгоиграйки работают от одного mysql-пользователя и аккуратненько встают в очередь выполнения.В MySQL разве есть такой механизм? http://dev.mysql.com/doc/refman/5.7/en/user-resources.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 04:40 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha, Без контроля за инспользованием ресурсов пользователями -- вы не можете гарантировать стабильную работу системы. Всегда найдется пользователь-умник который простейшим кодом или запросом положит mysql, RoR, ngnix и apache2 всместе взятые. Бороться с нагрузкой не имее контроля не просто бесполезно, но и опасно для здоровья -- вы подставляете свой задницу (пардон мой френч). Контроль начинается с мониторинга расхода ресурсов. top (htop) , mysqlturner -- неплохое начало, добавьте mytop, iotop, monit, New Relic APM, gem install god. Но главное -- контроль над конкретнимы аккаунатми. Вам 10 раз уже сказали посмотрите в slow query log. там есть юзер наме -- т.е. вы поймете кто и каким образом ставит палки в колеса вашей большой телеге. Разгильдяев будет не так много -- их можно просто выселить, посадить отлучить от сервера на 15 суток -- ну на что у вас силенок хватит. Возможно проблему можно будет решить если стукнуть рельсой по руби девелоперам, которые безалаберно используют дата акксесс фрейвок. И еше вариант активного контроля -- ставьте лимит на длину запросов -- убивать нафик все что длится более, допустим 5 секунд. систему можно будет подстроить разрешеним конкретным юзерам гонять длинные квери -- если докажут что им реально надо и они полностью оптимизировали запросы. Вы можете постить лимиты за количетво одновременных соединений на юзера, на количество запросов на юзера в час, убивать зависшие коннекции... если чё, вам еше идей накидают тутошние опытные админы. Главное -- чтоб вы начали активно контролировать систему а не гадать на top-e... Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 05:13 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
javajdbcmiksoftпропущено... В MySQL разве есть такой механизм? http://dev.mysql.com/doc/refman/5.7/en/user-resources.html Так запросы в очередь не встают. Ошибка возникает. Страничка не отобразится. Я такие темы много раз видел. Никакого толка тут не будет. Программисту можно что-то советовать. Они воспринимают процесс как взаимодействие программ и готовы разбираться . Бызнысмены-сеонизаторы надеются что сейчас посоветуют волшебное решение и бабло потечет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 12:44 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
miksoftvkleИсключение - если все (или бОльшая часть) долгоиграйки работают от одного mysql-пользователя и аккуратненько встают в очередь выполнения.В MySQL разве есть такой механизм?В чистом виде нет вроде, а на практике получается нечто вроде очереди. Насколько понимаю, это происходит по вот каким причинам. Во первых, из-за блокировок таблиц (типично, например, селект будет ждать снятия блокировки таблицы, которую установил перед выполнением апдейт). Во-вторых (тут могу ошибаться, поправьте), запросы с разных коннектов могут выполняться параллельно, но какие-то запросы отрабатывают, а заведомо тормозные впираются в блокировку той же самой таблицы, которую залочил такой же запрос от другого коннекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 20:41 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
vkle, в стандартной схеме хостинга это обеспечивает nginx и apache с небольшим значением настройки MaxClients. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 21:50 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha можно на это как то повлиять или с этим просто жить придется? Медленные запросы переделывать не вариант, так как сайтов огромное количество и многие из них не мои, поэтому ищу как вывернутся оптимизацией именно этих настроек (спасибо всем за понимание и заранее извиняюсь что игнорирую такие советы) нет, это как раз и есть единственный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 07:40 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
ScareCrowавторquery_cache_size надо ставить в НОЛЬ а не в то, что вы там советуете. Эта хрень только мешает и память жрёт. перестаньте давать явно неправильные ответы. чего тут неправильного? нафиг эту хрень вообще нужна? какой идиот ее придумал? если тебе надо 200 раз один и тот же запрос делать, то данные нужно кэшировать в приложении, а не в СУБД, чтобы запрос вообще не делать 200 раз. память в СУБД нужно на кэш данных тратить, а не на всякую хрень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 07:46 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
Vladimir_Praha, еще раз нужно отметить, если еще не прозвучало, что высокая нагрузка CPU от СУБД - это хорошо, а не плохо. это значит, что СУБД имеет все данные в кешах , не висит на IO и при наличии запросов на входе достаточно эффективно работает. С самой высокой загрузкой cpu бороться не нужно, нужно искать медленные запросы и оптимизировать их, например, создавая под них индексы. а под это уже тут писали, как делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 07:55 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
спасибо всем большое за советы, ушел в slow_logs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 09:40 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
MasterZivScareCrowпропущено... перестаньте давать явно неправильные ответы. чего тут неправильного? нафиг эту хрень вообще нужна? какой идиот ее придумал? Действительно, эта фича уникальна для РСУБД. Как можно было не догадаться ее везде сделать ? У многих окупается, что бы вы там себе не думали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 11:13 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
netwindMasterZivпропущено... чего тут неправильного? нафиг эту хрень вообще нужна? какой идиот ее придумал? Действительно, эта фича уникальна для РСУБД. Как можно было не догадаться ее везде сделать ? У многих окупается, что бы вы там себе не думали. http://www.oracle.com/technetwork/articles/sql/11g-caching-pooling-088320.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 00:44 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
MasterZiv...то данные нужно кэшировать в приложении, а не в СУБД... ...проблема в инвалидации кеша в момент изменении данных в базе... внутри базы каш сначала проверяется на валидность а потом -- если не было апдейтов -- выдается вместо полного запроса... кеширование на клиенте -- тоже полезная штука если бизнес задача разрешает отлючится на определенное время (ttl) от меняюшихся данных. Говорить что одно решение лучше чем друго -- бессмыслено. разные задачи -- разные решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 03:29 |
|
||
|
Оптимизация MySQL по результатам mysqltuner.pl
|
|||
|---|---|---|---|
|
#18+
ScareCrownetwindпропущено... Действительно, эта фича уникальна для РСУБД. Как можно было не догадаться ее везде сделать ? У многих окупается, что бы вы там себе не думали. http://www.oracle.com/technetwork/articles/sql/11g-caching-pooling-088320.html ну вот я и говорю : как можно было только лишь через 20 лет развития oracle решиться скопировать эту фичу у mysql ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 10:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1832312]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 471ms |

| 0 / 0 |
