PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اساتید راه حل بگند، سرعت کار با mysql پایینه



navid
October 14th, 2020, 20:02
سلام دوستان
یه سرور ایران گرفتم با این مشخصات

6 cpu
5 ram
nvme

centos 7.8
cpanel 90.0.15
mariadb 10.3.29

کار با مدیریت فایل و phpmyadmin روننه اما وقتی دیتا بیس ایمپورت می کنم با حجم 1 مگ (البته تعداد تیبل هاش 530 تا هست)
خیلی زمان می بره و ارور 500 میده
یا وقتی می خوام دیتا بیس را از توی phpmyadmin حذف کنم یا دروپ کنم باز خیلی زمان می بره چه با دسترسی روت چه کاربر
حذف دیتا بیس از طریق کنترل پنل کاربری هم زمان می بره

برای تست، دیتا بیس را با کامند هم ایمپورت کردم باز هم زمان می بره.

یه سرور با همین مشخصات آمریکا دارم، البته 1 رم بیشتر و ماریا دی بی 10.2 ، روی اون این مشکلات نیست اصلا و به خوبی با همین دیتا بیس و دیتا بیس های دیگه روون کار میکنه.


من فکر می کنم انگار گه توی صف هستند رکوردها و داره به نوبت انجام میشه
یا دیتا سنتر مشکل داره
نمی دونم دقیق علت چیه

فایروال را غیر فعال کردم فرق نکرد

مقادیر زیر را هم در فایل my.cnf گذاشتم اما فرقی نکرد
innodb_buffer_pool_size=3GB
max_allowed_packet=268435456
open_files_limit=55000
innodb_file_per_table=1
sql_mode=""
max_connections = 36770
query_cache_size = 100M
tmp_table_size = 1024M
max_heap_table_size = 1024M
thread_cache_size = 256
innodb_log_file_size = 4G


خروجی دستور iostat اینو میگه(اینها یعنی چی؟)


avg-cpu: %user %nice %system %iowait %steal %idle
1.44 0.02 2.14 2.30 0.08 94.02

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 27.45 248.63 181.99 1896615 1388269
dm-0 14.74 244.09 181.72 1861984 1386221
dm-1 0.01 0.29 0.00 2204 0


مقدار iowait یا idle زیاده، اینها ایرادی نداره؟ اصلا نشوندهنده چی هستند.

اشکال از سمت دیتا سنتر اختصاصی ایرانیه ؟
یا تنظیماتی باید تغییر کنه؟
یا ماریا دی بی 10.3.29 مشکل داره

لطفا اگه کسی می دونه بگه، ممنون

SaeedFazlollahzadeh
October 14th, 2020, 20:11
سلام

کار با مدیریت فایل و phpmyadmin روننه

اشکال از سمت دیتا سنتر اختصاصی ایرانیه ؟
وقتی که کار در فایل منیجر مشکلی نداره پس مشکل از سمت سرور شما هست و ارتباطی به دیتاسنتر نداره.
دستور top رو اجرا کنید و خروجی رو ارسال کنید یا چک کنید کدوم پروسس بیشترین مصرف رو داره.
دستور iostat هم آمار میزان read/write هارد دیسک تون و حافظه NVMe رو نمایش میده که مقداری ندارید اصلا و نرمال هست.

navid
October 14th, 2020, 20:34
پروسس وقتی هم داره دیتا بیس ایمپورت می کنه نهایت تا بین 2 تا 3 هست و نرماله، رم هم کمتر از 50 درصد
فشار اصلا به منابع نمیاد
تصویر دستور top در هر دو حالت معمول و در بین حالت ایمپورت پیوست شد.

4070640707

navid
October 15th, 2020, 13:30
از حرفه ای ها کسی نظری نداره؟

sam_pontiac
October 15th, 2020, 13:55
لاگ رو بررسی کنید.
بصورت پیش فرض تو centos ، محل ذخیره خطاهای دیتابیس


/var/lib/mysql/hostname.err

جای hostname اسم سرور خودتونه.
اگر هم که تغییر دادید، مسیر ذخیره لاگ خطاها رو از طریق دستور زیر پیدا کنید :



grep -R log_error /etc/mysql/*


و همینطور مسیر زیر :



/var/log/mysql/mariadb.err


ارور لاگ کلا خودش مشخص میکنه مشکل از کجاست.
اول بررسی بفرمایید خطاهای مربوط به mysql رو و موردی بود اشتراک بگذارید بررسی کنیم.

اما قبل از اون، پیشنهاد میکنم یک فایل دیتابیس دیگه ایمپورت کنید ( غیر از اینی که تست کردید ).
با اینکه خود error500 نشون گر مشکل تو تنظیمات mysql هست، اما بهرحال فایل دیگری رو تست کنید و ایمپورت کنید ببیند برای هر فایلی همین مشکل هست؟
چون گاهی اوقات تعداد بیش از حد کوئری‌های Create , Insert, Truncate و ... باعث بروز خطا میشن ( اما نه Error 500 ) - باز با این حال فایل دیتابیس دیگه ای رو ایمپورت کنید ،بد نیست.

navid
October 15th, 2020, 22:03
لاگ رو بررسی کنید.
بصورت پیش فرض تو centos ، محل ذخیره خطاهای دیتابیس


/var/lib/mysql/hostname.err

جای hostname اسم سرور خودتونه.
اگر هم که تغییر دادید، مسیر ذخیره لاگ خطاها رو از طریق دستور زیر پیدا کنید :



grep -R log_error /etc/mysql/*


و همینطور مسیر زیر :



/var/log/mysql/mariadb.err


ارور لاگ کلا خودش مشخص میکنه مشکل از کجاست.
اول بررسی بفرمایید خطاهای مربوط به mysql رو و موردی بود اشتراک بگذارید بررسی کنیم.

اما قبل از اون، پیشنهاد میکنم یک فایل دیتابیس دیگه ایمپورت کنید ( غیر از اینی که تست کردید ).
با اینکه خود error500 نشون گر مشکل تو تنظیمات mysql هست، اما بهرحال فایل دیگری رو تست کنید و ایمپورت کنید ببیند برای هر فایلی همین مشکل هست؟
چون گاهی اوقات تعداد بیش از حد کوئری‌های Create , Insert, Truncate و ... باعث بروز خطا میشن ( اما نه Error 500 ) - باز با این حال فایل دیتابیس دیگه ای رو ایمپورت کنید ،بد نیست.
ممنون

همین فایل روی سرور دیگه به راحتی ایمپورت میشه
فرق دو سرور
1 گیگ رم خارجی بیشتر داره
هر دو 6 هسته، خارجی ایرانی
حارجی ماریا دی بی 10.2.33 ایرانی 10.3.29
سی پنل خارج 90.0.12 و ایرانی 90.0.15

همچنین فایل های دیگه تعداد تیبل هاشون زیاد نیست و ایمپورت میشه
قضیه اینه حتی حذف دیتا بیس از سیپنل کاربر یا phpmyadmin با دسترسی روت هم زمان بره و اینترنال ارور میده و پروسس سرور روی 2 تا 3 می مونه، انگار که داره بک گراند کارهاشو تکمیل می کنه.
احساس می کنم یا درست نصب نشده مای اس کیو ال یا تنظیمات درست نیست یه محدودیتی وجودداره که میبره رکوردها را توی صف و موازی انجام نمیشه

بنده حتی این اسکریپت را روی هر دو سرور ران کردم اما تنظیمات و هشدار ها هم روی هر دو سرور مثل هم بود.

To optimize your mariadb parameters you can use the Tuning-Primer.sh script. First, install additional tools:

yum install bc net-tools -y

Download the optimization script:

wget https://launchpadlibrarian.net/78745738/tuning-primer.sh

Assign the execute permissions to a .sh file:

chmod +x tuning-primer.sh

Run the script:

./tuning-primer.sh

یه مورد دیگه اینکه وقتی دستور yum update -y را میزنم نسبت به سرور خارج زمان بیشتری می بره تا آپدیت ها صورت بگیره، درسته ممکنه آچدیتها فرق بکنه و این ایرانه اون امریکا و در اتصال به مخازن اون نزدیک تره اما فکر می کنم سرور مجازی باید خیلی سریع آپدیت بشه، اما چندین دقیقه بیشتر از سرور خارج زمان می بره
علت می تونه محدودیت در پورت شبکه سرور ایران باشه؟ هم آپدیت و هم ایمپورت و فعالیتهای دیتا بیس؟
آدم احساس میکنه سوراخش تنگه باعث میشه فعالیتها طول بکشه.

SaeedFazlollahzadeh
October 15th, 2020, 23:25
سلام
این دستورات رو به ترتیب اجرا کنید برای اجرای فایل تیون دیتابیس:

yum install bc net-tools -y
wget https://launchpadlibrarian.net/78745738/tuning-primer.sh
chmod +x tuning-primer.sh
./tuning-primer.sh



یه مورد دیگه اینکه وقتی دستور yum update -y را میزنم نسبت به سرور خارج زمان بیشتری می بره تا آپدیت ها صورت بگیره، درسته ممکنه آچدیتها فرق بکنه و این ایرانه اون امریکا و در اتصال به مخازن اون نزدیک تره اما فکر می کنم سرور مجازی باید خیلی سریع آپدیت بشه، اما چندین دقیقه بیشتر از سرور خارج زمان می برهعلت می تونه محدودیت در پورت شبکه سرور ایران باشه؟ هم آپدیت و هم ایمپورت و فعالیتهای دیتا بیس؟
علت طول کشیدن یام آپدیت اینترنت عزیز مون و شبکه پرقدرت کشور هست :دی
چون سرور ایران باید به سرورهای خارج کشور وصل بشه و معمولا هم به نزدیک ترین mirror برای دریافت فایل ها وصل میشه. خدا نکنه که فقط به سرورهای ترکیه یا عراق وصل بشه که خیلی طول می کشه!
اما سرور خارج تون هم پهنای باند و شبکه خوبی داره به نسبت ایران و هم که سرور تون در آمریکا از نزدیک ترین میرور آمریکا می گیره که طبیعتا اینترنت داخلی آمریکا هست و سرعت خوب.

اگر که روی سرور دیتای حساسی ندارید می تونید سرور رو re-build کنید که یعنی سیستم عامل رو دوباره نصب کنید و همه چیز از اول نصب بشه.
در غیر این صورت احتمال داره که سرور تون نیاز به بررسی تنظیمات داشته باشه.

یه مورد خیلی ساده و basic هم می تونه این باشه که شما در WHM وارد phpmyadmin بشید و در تب Status ببینید query خاصی دارید که گیر کرده باشه یا زمان زیادی برده باشه. ممکنه کوئری داشته باشید که هنوز در حال اجرا باشه مثلا.
یه راه فان هم که معمولا تو کامپیوتر هست این هست که یک بار سرور تون رو ریبوت کنید ببینید مشکل برطرف میشه یا خیر :دی

navid
October 17th, 2020, 01:44
هر اکانتی که ایجاد میشه سمت دیتا بیس یه یوزر با این هاست میسازه
express.openbill.com

در دیتا بیس mysql، تیبل user
تو لاگ mysql این بود

201015 19:14:20 8 Connect root@localhost as anonymous on
8 Query UPDATE mysql.user SET Host = 'irvps1.mydomain.net' WHERE Host = 'express.openbill.com'

یا این

22 Query USE mysql
22 Query select count(*) from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = 'mysql' and TABLE_NAME = 'user' and COLUMN_NAME = 'Password'
22 Query SELECT authentication_string,Password FROM user WHERE User='mydomainuser' AND Host='express.openbill.com'
22 Query SHOW GRANTS FOR 'mydomainuser'@'express.openbill.com'
22 Query USE mysql

چرا باید اتصال به این سایت داشته باشم؟
آیا mysql به دلیل تحریم داره این کار را می کنه یا سرورم هک شده؟

SaeedFazlollahzadeh
October 17th, 2020, 15:46
هر اکانتی که ایجاد میشه سمت دیتا بیس یه یوزر با این هاست میسازه
express.openbill.com

در دیتا بیس mysql، تیبل user
تو لاگ mysql این بود

201015 19:14:20 8 Connect root@localhost as anonymous on
8 Query UPDATE mysql.user SET Host = 'irvps1.mydomain.net' WHERE Host = 'express.openbill.com'

یا این

22 Query USE mysql
22 Query select count(*) from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = 'mysql' and TABLE_NAME = 'user' and COLUMN_NAME = 'Password'
22 Query SELECT authentication_string,Password FROM user WHERE User='mydomainuser' AND Host='express.openbill.com'
22 Query SHOW GRANTS FOR 'mydomainuser'@'express.openbill.com'
22 Query USE mysql

چرا باید اتصال به این سایت داشته باشم؟
آیا mysql به دلیل تحریم داره این کار را می کنه یا سرورم هک شده؟
سلام
در WHM بخش Additional MySQL Access Hosts رو پیدا کنید ببینید این سایت در اون بخش اضافه شده قبلا یا خیر.

بخش بولد شده: طبیعتا هیچ سایتی که ایران رو تحریم کرده باشه نمیاد خودش روش رفع دور زدن بده.

navid
October 17th, 2020, 18:08
نه در این بخش چیزی نیست
Additional MySQL Access Hosts

خوب، مگه گفته شد چرا روشش را نگفته؟

دوستان یه سوال دیگه
چطور می تونیم بدون اینکه به آکانت ها آسیب برسه ماریا دی بی را حذف و مجدد نصب کنیم؟
یا باید کلا سرور و سیپنل از ابتدا نصب بشه؟

navid
October 19th, 2020, 02:26
دوستان کسی می دونه راه حل چیه؟

navid
October 24th, 2020, 18:18
دوستان موقع کار با دیتا بیس، در بخش Show MySQL Processes
خیلی فعالیت ها زمان می برد
stat در حالت ها زیر زیاد زمان می گرفت
sleep, closing,..
که با جستجو توی نت به این نتیجه رسیدیم که هارد پره یا فشار روشه
با دیتا سنتر صحبت کردم منتقلش کرد به مجازی ساز جدید و مشکل رفع شد.