ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql

Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. 31089:1294579841. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-31089:1294579841. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 31089:1294579841. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

Если Π½Π΅ сСкрСт, Π·Π°Ρ‡Π΅ΠΌ Π²Π°ΠΌ 1000 ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов? Π­Ρ‚ΠΎ ΠΏΠΎ 500 запросов Π½Π° core.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. 31089:1294579841. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-31089:1294579841. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 31089:1294579841. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

> Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. p. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

Или, Ссли ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ процСссора Π΄ΠΎ Xeon QuardCore 3Π“Π³Ρ† (ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄ΠΎ 4).

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. 1928: 1960774052. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-1928: 1960774052. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1928: 1960774052. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

40% update + 60% select, всС простыС, Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΎΡ‚ 10 тыс. Π΄ΠΎ 1ΠΌΠ»Π½. записСй тянул Π±ΠΎΠ»Π΅Π΅ 800 запросов Π² сСкунду Π² срСднСм Π·Π° сутки (ΠΎ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ) Π½Π° 2x Xeon-1800, оставляя Π΅Ρ‰Ρ‘ мСсто для MMORPG-сСрвСра.

Re: Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL

> А PG Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚? А Ρ‡Ρ‚ΠΎ PG? Нафиг.

> Или, Ссли ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ процСссора Π΄ΠΎ Xeon QuardCore 3Π“Π³Ρ† (ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄ΠΎ 4). НСльзя Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль Π‘Π” Π½Π°Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ с Π½Π΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅

Как считаСтся Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π›ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ суммарная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² дСнь Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ:

ВарифНагрузка Π½Π° CPUНагрузка Π½Π° MySQL
Year+501000
Optimo+3005000
Century+4007000
Millennium+60010000
Eterno100015000
Premium300025000
1Π‘Π°ΠΉΡ‚100015000

Π‘ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ услугой «Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ» Π»ΠΈΠΌΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ:

Year+80 / 1101600 / 2200Optimo+480 / 6608000 / 11000Century+640 / 88011200 / 15400Millennium+960 / 132016000 / 22000Eterno1333 / 166627000 / 39000Premium4000 / 500045000 / 650001Π‘Π°ΠΉΡ‚1333 / 166627000 / 39000

Π›ΠΈΠΌΠΈΡ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π›ΠΈΠΌΠΈΡ‚Ρ‹ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ увСличСния:

110 cp Π½Π° CPU, 2200 Π΅Π΄ΠΈΠ½ΠΈΡ† Π½Π° MySQL для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ хостинга ΠΈ Ρ‚Π°Ρ€ΠΈΡ„ΠΎΠ² «Π‘Ρ‚Π°Ρ€Ρ‚» CMS-хостинга;

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ПУ

На Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния (Ρ€Π°Π·Π΄Π΅Π» «ΠΠ°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° сСрвСр») ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π° послСдниС 2 часа / 24 часа / 30 Π΄Π½Π΅ΠΉ. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° отрисовываСтся Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. %D0%93%D1%80%D0%B0%D1%84%D0%B8%D0%BA. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-%D0%93%D1%80%D0%B0%D1%84%D0%B8%D0%BA. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° %D0%93%D1%80%D0%B0%D1%84%D0%B8%D0%BA. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ суточныС ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΡ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ «30 Π΄Π½Π΅ΠΉ»; Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Π·Π° 2 ΠΈ 24 часа ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, суточный Π»ΠΈΠΌΠΈΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ Π±Ρ‹Π» ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ Π·Π° 15 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈΠ»ΠΈ 1 час соотвСтствСнно).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

36 ΠΌΠ»Π½ запросов Π² час, 10000+ постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС, nginx+mysql

БлоТилась ситуация, Ρ‡Ρ‚ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с достаточно большой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Как ΡƒΠΆΠ΅ написал β€” 36 ΠΌΠ»Π½ запросов Π² час. Π― ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π·Π° послСдний мСсяц, настраивая сСрвСр; Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ просто сТато ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ тСзисно Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» β€” мноТСство совСтов ΠΊΠ°ΠΊ всС Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΈΡ… Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² тСкстС Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΏΡ€ΠΎ Β«Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒΒ» Π² 15-20 тысяч ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² сутки. Π£ нас ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ…, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Ρ….

Π£ нас Π½Π΅Ρ‚ Π΄Π΅Π½Π΅Π³ ΠΈ ΠΌΡ‹ всС Π΄Π΅Π»Π°Π΅ΠΌ Π·Π° свой счСт, поэтому экономим. Π˜Ρ‚ΠΎΠ³ β€” вСсь ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² обслуТиваСтся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС, Π²ΠΎΡ‚ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ β€” EX-60 Π½Π° hetzner.

ΠœΡ‹ случайно сдСлали сСбС Π°Π½Π°Π»ΠΎΠ³ DDoS Ρ‡Π΅Ρ€Π΅Π· своих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ настроСк, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ ΠΏΠΎ 4000 php процСссов, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ОБ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄ 4000, я успСл ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ мноТСство ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅. Π‘ ошибкой Π² софтС ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ эти 10-12 тысяч запросов Π² сСкунду ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ load average: 3,92, 3,22, 2,85. НС Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΠ°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСрвСра ΡΡ‡ΠΈΡ‚Π°ΡŽ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΊΠ° β€” CentOS 7.1, 64 Π±ΠΈΡ‚Π°. Минимальная инсталляция, плюс iptables, nginx, php-fpm, mysql. Π―Π΄Ρ€ΠΎ 4-ΠΉ вСрсии, ΠΈΠ· kernel-ml.

Вюнинг настроСк ядра ΠΏΠΎΠ΄ большой Π½Π°ΠΏΠΎΡ€ tcp ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ²:

Вюнинг Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΡŽΠ·Π΅Ρ€ΠΎΠ² Π½Π° сСрвСрС Π½Π΅Ρ‚, Ρ‚ΠΎ особо Π½Π΅ заморачиваСмся:

ΠœΠΎΠ½ΡΡ‚Ρ€Ρ‹ Π·Π½Π°ΡŽΡ‚, Π½ΠΎ я Π΄Π°Π²Π½ΠΎ Π½Π΅ администрировал ΠΈ Π±Ρ‹Π» Π½Π΅ Π² курсС, Ρ‡Ρ‚ΠΎ * Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° root, ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΡŽΠ½ΠΈΠ½Π³ΠΎΠ²Π°Ρ‚ΡŒ.

На этом с ядром всё.

Настройки мускула. УстановлСна percona-56.

Π’Ρ‹Π±ΠΎΡ€ Π±Ρ‹Π» сдСлан Π² ΠΈΡ‚ΠΎΠ³Π΅ Π½Π° InnoDB, ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ TokuDb, Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… постоянных инсСртов, Π° ΠΈΡ… Ρƒ нас 95% ΠΈΠ· 36 ΠΌΠ»Π½ Π² час. InnoDB Π²Π΅Π΄Π΅Ρ‚ сСбя Π»ΡƒΡ‡ΡˆΠ΅, тСсты самой ΠΏΠ΅Ρ€ΠΊΠΎΠ½Ρ‹ говорят ΠΎ Ρ‚ΠΎΠΌ ΠΆΠ΅.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ query-cache. Он Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ всю систСму. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΏΠΎΠΈΠ³Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² вашСм случаС Π½Π΅Ρ‚, Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… тСстах ΠΈ тСкстах встрСчал этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Ρƒ сСбя β€” Ρ‚Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ, с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС.

skip-name-resolve Ρ‚ΠΎΠΆΠ΅ Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ прирост.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ стандартным для nginx:

nginx Ρ‚ΡŽΠ½ΠΈΠΌ ΠΏΠΎΠ΄ наши Π½ΡƒΠΆΠ΄Ρ‹:

user nginx;
worker_processes 8;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events <
worker_connections 8000;
multi_accept on;
use epoll;
>

http <
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log main;

gzip off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
reset_timedout_connection on;
server_tokens off;
client_body_buffer_size 128k;

Π―Π΄Π΅Ρ€ 8, поэтому ΠΈ worker-процСссов 8, ΠΏΠΎ 8000 Π½Π° Π±Ρ€Π°Ρ‚Π°, всС-Ρ€Π°Π²Π½ΠΎ большС 64ΠΊ Π½Π΅ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π·Π° Ρ€Π°Π·. Π‘ΡƒΠ΄Π΅Ρ‚ нСбольшая ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ссли Π±ΡƒΠ΄Π΅Ρ‚ большС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ².

Π’ сайтС с php-fpm общаСмся Ρ‡Π΅Ρ€Π΅Π· сокСты:

ОсновноС ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ php-fpm:

ondemand ΠΌΠ°Π»ΠΎ Π³Π΄Π΅ описан, Π½ΠΎ ΠΎΠ½ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Π΅ΠΌ dynamic ΠΏΠΎΠ΄ большой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. А static β€” это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, убийство для сСрвСра, Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ сильно.

ondemand Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с 5, ΠΏΡ€ΠΈ нСобходимости наращиваСтся, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ dynamic с ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ процСссы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΏΡΡ‚ΡŒ Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ, Π° просто Π½Π° ΠΏΠΈΠΊΠ΅ фиксируСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания. И Ссли Π²Π΄Ρ€ΡƒΠ³ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΡΡ‚ΡŒ растСт β€” процСссы ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ с нуля.

pm.max_requests = 0 ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ боротся с ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌΠΈ памяти, Π² стороннСм софтС.

БобствСнно, Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΈ обслуТиваСм 36 ΠΌΠ»Π½ Π² час, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 95 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊ Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ запись ΠΈΡ… Π² Π‘Π”. На 2.8 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° запросов Ρƒ нас сСйчас ΠΎΡ‚ 10 Π΄ΠΎ 16 slow_query, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π΅ большС 10 сСкунд, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ всС ΠΎΠ½ΠΈ β€” сСлСкты с Π΄ΠΆΠΎΠΉΠ½Π°ΠΌΠΈ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ полям ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ запросы ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ.

ВмСсто php-fpm ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π» ΠΈ использовал hhvm ΠΎΠ΄Π½ΠΎ врСмя, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡˆΠΈΠΊΠ°Ρ€Π½ΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС php-fpm, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π±Π΅Π΄Π° β€” ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 30-40 ΠΌΠΈΠ½ΡƒΡ‚ ΠΏΠ°Π΄Π°Π΅Ρ‚, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°Π³Π»ΡƒΡ…ΠΎ.

Π’ git Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ написал, ΠΏΠΎΠΊΠ° Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ смогли ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ Π·Π½Π°ΡŽΡ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ сидим Π½Π° php-fpm, вСрсия 5.6.

Π’Π΅ΡΡŒ софт ставится Ρ‡Π΅Ρ€Π΅Π· yum, Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ… Π±ΠΈΠ»Π΄ΠΎΠ² с сорцов с ΠΌΠ΅Π³Π°Ρ‚ΡŽΠ½ΠΈΠ½Π³ΠΎΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Π”ΡƒΠΌΠ°ΡŽ, ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° эта информация ΠΎ настройках вся Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ запросов Π² сСкунду: мирная Π±ΠΈΡ‚Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ PostgreSQL ΠΈ MySQL ΠΏΡ€ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… трСбованиях ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ

ΠœΡ‹ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π² этом Π³ΠΎΠ΄Ρƒ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ PG Day’17 Russia Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π°ΡΡŒ. БовмСстно с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Percona ΠΌΡ‹ сформировали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ выступлСний ΠΏΠΎ MySQL/NoSQL. Помимо Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… спСциалистов ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ no sql Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ состоятся Ρ‚Π°ΠΊΠΆΠ΅ 2 ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹Ρ… мастСр-класса ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… спСциалистов Percona β€” ΠŸΠ΅Ρ‚Ρ€Π° Π—Π°ΠΉΡ†Π΅Π²Π° ΠΈ Π‘Π²Π΅Ρ‚Ρ‹ Π‘ΠΌΠΈΡ€Π½ΠΎΠ²ΠΎΠΉ.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

На мастСр-классах Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны самыС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ Π±Π°Π·Π°ΠΌ MySQL: созданиС ΠΈ использованиС тСстового сСрвСра, тонкости ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов, особСнности систСм Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, влияниС оборудования ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, сбор Π΄Π°Π½Π½Ρ‹Ρ… с минимальной Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π½Π° сСрвСр.

БСгодня ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ нСбольшого ΠΎΠ±Π·ΠΎΡ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π‘Π²Π΅Ρ‚Π° Π‘ΠΌΠΈΡ€Π½ΠΎΠ²Π° β€’ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ слуТбы тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Percona ΠΈ Анастасия Распопина, спСциалист ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ PostgreSQL ΠΈ MySQL ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ запросов Π² сСкунду.

5-Π³ΠΎ июля для участников PG Day’17 Π‘Π²Π΅Ρ‚Π»Π°Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТСт ΠΏΡ€ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ MySQL сСрвСра ΠΈ спСцифику Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π΅Π³ΠΎ частями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€, Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ, систСмы Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

Анастасия: ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ запросов Π² сСкунду? МногиС Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° отвСтят Β«Π΄Π°Β». Однако ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ нСдостаточно для обоснованных Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π². ИмСнно поэтому Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ дСлимся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ тСстов ΠΎΡ‚ АлСксандра ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ²Π° (Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΡ‚Π΄Π΅Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Postgres Professional) ΠΈ Π‘Π²Π΅Ρ‚Ρ‹ Π‘ΠΌΠΈΡ€Π½ΠΎΠ²ΠΎΠΉ (Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΏΠΎ тСхничСскому ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ, Percona). Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ исслСдованиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ PostgreSQL 9.6 ΠΈ MySQL 5.7 Π±ΡƒΠ΄Π΅Ρ‚ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для срСд с нСсколькими Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ИдСя этого исслСдования состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ чСстноС сравнСниС Π΄Π²ΡƒΡ… популярных Π‘Π£Π‘Π”. Π‘Π²Π΅Ρ‚Π° ΠΈ АлСксандр Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ самыС послСдниС вСрсии MySQL ΠΈ PostgreSQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ инструмСнта ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ слоТных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… ΠΈ с использованиСм ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ). Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ экосистСмы PostgreSQL ΠΈ MySQL ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, со стандартными инструмСнтами тСстирования (pgbench and SysBench), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, это Π±Ρ‹Π»ΠΎ нСпросто.

Π—Π°Π΄Π°Ρ‡Π° Π»Π΅Π³Π»Π° Π½Π° экспСртов ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΌ практичСским ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. Π‘Π²Π΅Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π² качСствС ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΏΠΎ тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ошибок слуТбы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ MySQL Π² Oracle Π½Π° протяТСнии восьми с лишним Π»Π΅Ρ‚, Π° с 2015 Π³ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ ΠΏΠΎ тСхничСскому ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Percona. АлСксандр ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ² являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² PostgreSQL ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ряда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ PostgreSQL, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ CREATE ACCESS METHOD, ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс WAL, Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Pin/UnpinBuffer, индСксный поиск для рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π˜Ρ‚Π°ΠΊ, Ρƒ нас подобрался довольно ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΉ актСрский состав для этой ΠΏΡŒΠ΅ΡΡ‹!

Π‘Π²Π΅Ρ‚Π°: Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠšΡ€Π°Π²Ρ‡ΡƒΠΊ рСгулярно ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстов для MySQL, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π±Ρ‹Π»Π° Π½Π΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ MySQL ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ запросов Π² сСкунду. Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ наши Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π»ΠΈ эту ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, я часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎΠΉ срСдС с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΌΠ½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с влияниСм пСрСноса Π·Π°Π΄Π°Ρ‡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π±Ρ‹Π»Π° Ρ€Π°Π΄Π° возмоТности ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Postgres Professional ΠΈ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ слабыС стороны этих Π΄Π²ΡƒΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ инструмСнты ΠΈ тСсты. ΠœΡ‹ ΡΠΎΠ±ΠΈΡ€Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ сравнСниями. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ.

Π‘ΠΏΠΎΠΉΠ»Π΅Ρ€: ΠœΡ‹ ΠΏΠΎΠΊΠ° Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ сСрии статСй.

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, сСрия 1: Β«Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ близко…»
Postgres Professional вмСстС с Freematiq прСдоставили для тСстов Π΄Π²Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ соврСмСнныС ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹: физичСскиС = 4, ядра = 72, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ = 144, hyperthreading = Π΄Π°
ΠŸΠ°ΠΌΡΡ‚ΡŒ: 3 TB
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ диска: ΠΎΠΊΠΎΠ»ΠΎ 3K IOPS
ОБ: CentOS 7.1.1503
Ѐайловая систСма: XFS
Π’Π°ΠΊΠΆΠ΅ я использовала ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Percona.
ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ оборудования:
ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹: физичСскиС = 2, ядра = 12, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ = 24, hyperthreading = Π΄Π°
ΠŸΠ°ΠΌΡΡ‚ΡŒ: 251.9 GB
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ диска: ΠΎΠΊΠΎΠ»ΠΎ 33K IOPS
ОБ: Ubuntu 14.04.5 LTS
Ѐайловая систСма: EXT4

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с мСньшим количСством процСссорных ядСр ΠΈ Π±ΠΎΠ»Π΅Π΅ быстрыми дисками Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для инсталляций MySQL, Ρ‡Π΅ΠΌ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с большим количСством ядСр.
ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ, β€” это ΠΊΠ°ΠΊΠΎΠΉ инструмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΠ΅ сравнСниС ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ‹.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ инструмСнт PostgreSQL для тСстирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€” pgbench, Π° для MySQL β€” SysBench. SysBench ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ скрипты для тСстов Π½Π° языкС программирования Lua, поэтому ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот инструмСнт для ΠΎΠ±Π΅ΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ состоял Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ тСсты pgbench Π² синтаксис SysBench Π½Π° Lua, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ стандартныС тСсты для ΠΎΠ±Π΅ΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ наши тСсты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ спСцифичСскиС возмоТности MySQL ΠΈ PostgreSQL.
Π― сконвСртировала тСсты pgbench Π² синтаксис SysBench ΠΈ помСстила тСсты Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ open-database-bench Π½Π° GitHub.

И Ρ‚ΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠ±Π° ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с трудностями.

Как я ΡƒΠΆΠ΅ писала, я Ρ‚Π°ΠΊΠΆΠ΅ прогоняла тСсты Π½Π° машинС Percona. Для этого сконвСртированного тСста Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ:

Π― Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ. ЕдинствСнным, Π² Ρ‡Ρ‘ΠΌ машина Percona прСвосходила Freematiq, Π±Ρ‹Π»Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ диска. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ read-only тСст pgbench, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ point select тСсту SysBench с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти. Но Π½Π° этот Ρ€Π°Π· SysBench использовал 50% доступных рСсурсов CPU:

Π£ АлСксандра, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с SysBench, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠ³ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° PostgreSQL ΠΏΡ€ΠΈ использовании prepared statements:

ΠœΡ‹ связались с Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ SysBench АлСксССм ΠšΠΎΠΏΡ‹Ρ‚ΠΎΠ²Ρ‹ΠΌ, ΠΈ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для MySQL:

β€’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ SysBench с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ —percentile=0 ΠΈ —max-requests=0 (Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ использованиС CPU);
β€’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ‚Π²ΡŒ concurrency_kit (Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Lua);
β€’ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ скрипты Lua для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ prepared statements (pull request: github.com/akopytov/sysbench/pull/94);
β€’ запускайтС ΠΊΠ°ΠΊ SysBench, Ρ‚Π°ΠΊ ΠΈ mysqld с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ jemalloc ΠΈΠ»ΠΈ tmalloc.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ для PostgreSQL ΡƒΠΆΠ΅ Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ АлСксандр ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π» стандартный тСст SysBench Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ pgbench, ΠΈ Π½Π° этом ΠΌΡ‹ Π·Π°ΡΡ‚ΠΎΠΏΠΎΡ€ΠΈΠ»ΠΈΡΡŒ. НС Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ для MySQL, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρƒ нас Π±Ρ‹Π»Π° исходная Ρ‚ΠΎΡ‡ΠΊΠ° для сравнСния.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»Π°ΡΡŒ, β€” это ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ, Ρ‚ΠΎ я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΠΈΡ… Π½Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ (описано Π½ΠΈΠΆΠ΅):

Π­Ρ‚ΠΈ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ PostgreSQL. АлСксандр настроил свою ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

ПослС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

β€’ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ инструмСнт (ΠΏΠΎΠΊΠ°);
β€’ АлСксандр написал тСст для pgbench, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ стандартныС тСсты SysBench;
β€’ ΠΌΡ‹ всС Π΅Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ кастомныС тСсты, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ инструмСнты.

Но ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти тСсты Π² качСствС исходной Ρ‚ΠΎΡ‡ΠΊΠΈ. ПослС Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ АлСксандром, ΠΌΡ‹ застряли Π² стандартных тСстах SysBench. Π― ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»Π° ΠΈΡ… для использования prepared statements, Π° АлСксандр ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π» ΠΈΡ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ pgbench.

Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я Π½Π΅ смогла ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠ°ΠΊ Ρƒ Дмитрия, для тСстов Read Only ΠΈ Point Select. Они ΠΏΠΎΡ…ΠΎΠΆΠΈ, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Нам Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, являСтся Π»ΠΈ это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ использования Ρ€Π°Π·Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств ΠΈΠ»ΠΈ нСдостатком Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π² области тСстирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΌΠΎΠ΅ΠΉ стороны. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстов Read-Write ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

ΠœΠ΅ΠΆΠ΄Ρƒ тСстами PostgreSQL ΠΈ MySQL Π±Ρ‹Π»ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅. Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ MySQL ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ соСдинСний. Установка значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ max_connections для ограничСния ΠΎΠ±Ρ‰Π΅Π³ΠΎ числа ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π΄ΠΎ тысяч Π½Π΅ Ρ€Π΅Π΄ΠΊΠΎΡΡ‚ΡŒ Π² наши Π΄Π½ΠΈ. Π₯отя это ΠΈ Π½Π΅ рСкомСндуСтся, люди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½Π° thread pool. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих соСдинСний Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹. Но всСгда Π΅ΡΡ‚ΡŒ шанс, Ρ‡Ρ‚ΠΎ всС ΠΎΠ½ΠΈ окаТутся задСйствованы Π² случаС увСличСния активности Π²Π΅Π±-сайта.

Для MySQL я ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»Π° тСсты Π΄ΠΎ 1024 соСдинСний. Π― использовала стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ количСства ядСр: 1, 2, 4, 8, 16, 32, 36, 64, 72, 128, 144, 256, 512 ΠΈ 1024 ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Для АлСксандра Π±Ρ‹Π»ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ провСсти тСст мСньшими шагами. Он Π½Π°Ρ‡Π°Π» с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π» Π½Π° 10 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ достиг 250 ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ для PostgreSQL, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² послС 250 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π΅Ρ‚.
Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ сравнСния.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

pgsql-9.6 β€” стандартный PostgreSQL
pgsql-9.6 + pgxact-align β€” PostgreSQL с этим ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅)
MySQL-5.7 Dimitri β€” сСрвСр Oracle MySQL
MySQL-5.7 Sveta β€” сСрвСр Percona 5.7.15

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Ѐункция синхронного подтвСрТдСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (sync commit) Π² PostgreSQL Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° innodb_flush_log_at_trx_commit=1 Π² InnoDB, Π° асинхронный ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ innodb_flush_log_at_trx_commit=2.
Π’Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ: ΠΎΠ±Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с соврСмСнным ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ MySQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ 1024 ΠΏΠΎΡ‚ΠΎΠΊΠ° для справки.
Point SELECT ΠΈ OLTP RO

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

OLTP RW с innodb_flush_log_at_trx_commit, установлСнным Π½Π° 1 ΠΈ 2

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. image loader. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² эти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ нСсколько ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация

ΠžΠΏΡ†ΠΈΠΈ MySQL для тСстов OLTP RO ΠΈ Point SELECT:

ΠžΠΏΡ†ΠΈΠΈ MySQL для OLTP RW:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ MySQL SysBench:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ PostgreSQL pgbench:

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ вСрсии исслСдования Π±ΡƒΠ΄ΡƒΡ‚ доступны для всСх участников мастСр-класса Π‘Π²Π΅Ρ‚Ρ‹ Π½Π° PG Day’17. Если Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы ΠΈ поТСлания ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΎ ΠΊΠ°ΠΊΠΈΡ… аспСктах ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ PostgreSQL ΠΈ MySQL Π²Ρ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, оставляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡Ρ‚Π΅ΠΌ ваши поТСлания!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ MySQL

Π’ сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ выполняСтся оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ mysql. КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для этого Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ MySQL

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π±Π΅Π· Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ бСссмыслСнна. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… сСйчас, Π΅ΡΡ‚ΡŒ Π»ΠΈ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ВсС настройки вашСго сСрвиса mysql находятся Π² Ρ„Π°ΠΉΠ»Π΅ /etc/my.cnf. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ строки Π² my.cnf, Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ [mysqld]:

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 08 15. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 08 15. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 08 15. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Но это ΡƒΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ скорости ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большС для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ создания Ρ‚Π°Π±Π»ΠΈΡ†. Π”Π°Π»ΡŒΡˆΠ΅ пСрСзапуститС сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ посмотритС Π»ΠΎΠ³:

systemctl restart mariadb

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 10 15. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 10 15. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 10 15. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ большС, Ρ‡Π΅ΠΌ 10 сСкунд. Π­Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запрос

SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’;

МоТно Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π² консоли mysql:

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 12 16. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 12 16. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 12 16. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ MySQL

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ MySQL достаточно слоТная, Π½ΠΎ, ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π² Π½Π΅Π΅ сильно ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ. Π•ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ скрипт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ MySQLTunner, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ MySQL ΠΈ Π΄Π°Π΅Ρ‚ совСты ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ значСния для Π½ΠΈΡ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ вСрсий MariaDB, MySQL ΠΈ Percona XtraDB. Нам понадобится Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wget:

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 24 29. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 24 29. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 24 29. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 25 23. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 25 23. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 25 23. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚ скрипт выдаст ΠΏΠΎΠ»Π½ΡƒΡŽ статистику ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ MySQL. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ запросов, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ памяти ΠΈ эффСктивности Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со всСм этим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ красными Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ. НапримСр, здСсь ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° Π΄Π²ΠΈΠΆΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ† InnoDB (InnoDB buffer pool) Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС, Ρ‡Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 31 04. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 31 04. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 31 04. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² самом ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° прСдоставит список Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. ΠœΡ‹ рассмотрим всС сообщСния ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ· этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ…, Π° Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 19 27 46. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 19 27 46. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 19 27 46. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² /etc/my.cnf. Π•Ρ‰Π΅ Ρ€Π°Π· Π·Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π° смотритС Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π²Ρ‹Π΄Π°Π»Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°. НачнСм с query-cache.

query_cache_size=0
query_cache_type=0
query_cache_limit=1M

Оба ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† MySQL. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ объСм большС 16 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, просто установитС это вашС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΎΠ±ΠΎΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ссли Ρƒ вас достаточно памяти, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ 32 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ 64. Но Π²Π°ΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π° значСния совпадали, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ минимальноС.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ€Π°Π·ΠΎΡ€Π²Π΅Ρ‚ Π΅Π³ΠΎ, Π° Π·Π°ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚, Ссли количСство ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ большС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 16.

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ·Π²Π½Π΅. УскоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ тратится врСмя Π½Π° DNS запросы.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° InnoDB Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΎΡ‚ этого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΡ‡Π΅Π½ΡŒ сильно зависит ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния запросов. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Π°ΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ количСства Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΈΡ…. Если памяти нСдостаточно, запросы Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ дольшС. Π£ мСня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный объСм 128, Π° Π½ΡƒΠΆΠ½ΠΎ большС 652.

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 22 13 24. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 22 13 24. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 22 13 24. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π»ΠΎΠ³Π° innodb Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ 25% ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π°. Π’ случаС 800 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ это Π±ΡƒΠ΄Π΅Ρ‚ 200М. Но Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π»ΠΎΠ³Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько дСйствий. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ сСрвСра. Для нашСго Π»ΠΎΠ³Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрвис:

systemctl stop mariadb

Π—Π°Ρ‚Π΅ΠΌ пСрСмСститС Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠ³Π° Π² /tmp:

mv /var/lib/mysql/ib_logfile[01] /tmp

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 22 14 36. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 22 14 36. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 22 14 36. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

И запуститС сСрвис:

systemctl start mariadb

Когда Ρ€Π°Π·ΠΌΠ΅Ρ€ Π»ΠΎΠ³Π° мСняСтся сСрвис Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Π»ΠΎΠ³, Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π½Π΅ запускаСтся. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сначала Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старый. ПослС этого смотритС Π΅ΡΡ‚ΡŒ Π»ΠΈ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…:

systemctl status mariadb

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 22 20 27. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 22 20 27. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 22 20 27. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ВСстированиС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Π“ΠΎΡ‚ΠΎΠ²ΠΎ оптимизация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… mysql Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ тСстируСм Ρ‚ΠΎΡ‚ ΠΆΠ΅ запрос Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚ mysql:

> USE Π±Π°Π·Π°_Π΄Π°Π½Π½Ρ‹Ρ…;
> SELECT option_name, option_value FROM wpfc_options WHERE autoload = ‘yes’;

ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. Snimok ekrana ot 2017 11 15 22 21 36. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql-Snimok ekrana ot 2017 11 15 22 21 36. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ mysql. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 11 15 22 21 36. Π’Ρ‹Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π»ΠΈ MySQL количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов ΠΎΠΊΠΎΠ»ΠΎ 1000. P4 DualCore, 2Π“Π± памяти, ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ сразу Π½Π° PG?

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· ΠΎΠ½ выполняСтся Π΄ΠΎΠ»Π³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ дольшС Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π½ΠΎ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ‹ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Π±ΠΎΠ»Π΅Π΅ 3 сСкунд Π΄ΠΎ 0,15. А Ссли Π±Ρ€Π°Ρ‚ΡŒ статистику ΠΈΠ· slow-log, Ρ‚ΠΎ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ 12. Если Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для вас Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ стоит ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, оптимизация mysql это достаточно просто благодаря Ρ‚Π°ΠΊΠΎΠΌΡƒ скрипту, Π½ΠΎ, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, такая опСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΏΠΎΠΌΠΎΡ‡ΡŒ, особСнно высоконагруТСнным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ. Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ оптимизация запросов mysql. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Ρ‡Ρ‚ΠΎ всС Π² порядкС. Если Ρƒ вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π² коммСнтариях!

На Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ лСкция ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ MySQL ΠΎΡ‚ Percona:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *