-
October 14th, 2020, 20:02
#1
اساتید راه حل بگند، سرعت کار با mysql پایینه
سلام دوستان
یه سرور ایران گرفتم با این مشخصات
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 مشکل داره
لطفا اگه کسی می دونه بگه، ممنون
ویرایش توسط navid : October 14th, 2020 در ساعت 20:12
-
-
October 14th, 2020 20:02
# ADS
-
October 14th, 2020, 20:11
#2
عضو انجمن
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
سلام
کار با مدیریت فایل و phpmyadmin روننه
اشکال از سمت دیتا سنتر اختصاصی ایرانیه ؟
وقتی که کار در فایل منیجر مشکلی نداره پس مشکل از سمت سرور شما هست و ارتباطی به دیتاسنتر نداره.
دستور top رو اجرا کنید و خروجی رو ارسال کنید یا چک کنید کدوم پروسس بیشترین مصرف رو داره.
دستور iostat هم آمار میزان read/write هارد دیسک تون و حافظه NVMe رو نمایش میده که مقداری ندارید اصلا و نرمال هست.
-
-
October 14th, 2020, 20:34
#3
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
پروسس وقتی هم داره دیتا بیس ایمپورت می کنه نهایت تا بین 2 تا 3 هست و نرماله، رم هم کمتر از 50 درصد
فشار اصلا به منابع نمیاد
تصویر دستور top در هر دو حالت معمول و در بین حالت ایمپورت پیوست شد.
importing.pngnormal.png
-
-
October 15th, 2020, 13:30
#4
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
از حرفه ای ها کسی نظری نداره؟
-
-
October 15th, 2020, 13:55
#5
عضو انجمن
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
لاگ رو بررسی کنید.
بصورت پیش فرض تو 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 ) - باز با این حال فایل دیتابیس دیگه ای رو ایمپورت کنید ،بد نیست.
-
-
October 15th, 2020, 22:03
#6
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه

نوشته اصلی توسط
sam_pontiac
لاگ رو بررسی کنید.
بصورت پیش فرض تو 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 می مونه، انگار که داره بک گراند کارهاشو تکمیل می کنه.
احساس می کنم یا درست نصب نشده مای اس کیو ال یا تنظیمات درست نیست یه محدودیتی وجودداره که میبره رکوردها را توی صف و موازی انجام نمیشه
بنده حتی این اسکریپت را روی هر دو سرور ران کردم اما تنظیمات و هشدار ها هم روی هر دو سرور مثل هم بود.
کد HTML:
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 را میزنم نسبت به سرور خارج زمان بیشتری می بره تا آپدیت ها صورت بگیره، درسته ممکنه آچدیتها فرق بکنه و این ایرانه اون امریکا و در اتصال به مخازن اون نزدیک تره اما فکر می کنم سرور مجازی باید خیلی سریع آپدیت بشه، اما چندین دقیقه بیشتر از سرور خارج زمان می بره
علت می تونه محدودیت در پورت شبکه سرور ایران باشه؟ هم آپدیت و هم ایمپورت و فعالیتهای دیتا بیس؟
آدم احساس میکنه سوراخش تنگه باعث میشه فعالیتها طول بکشه.
-
-
October 15th, 2020, 23:25
#7
عضو انجمن
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
سلام
این دستورات رو به ترتیب اجرا کنید برای اجرای فایل تیون دیتابیس:
کد:
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 خاصی دارید که گیر کرده باشه یا زمان زیادی برده باشه. ممکنه کوئری داشته باشید که هنوز در حال اجرا باشه مثلا.
یه راه فان هم که معمولا تو کامپیوتر هست این هست که یک بار سرور تون رو ریبوت کنید ببینید مشکل برطرف میشه یا خیر :دی
-
-
October 17th, 2020, 01:44
#8
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
هر اکانتی که ایجاد میشه سمت دیتا بیس یه یوزر با این هاست میسازه
express.openbill.com
در دیتا بیس mysql، تیبل user
تو لاگ mysql این بود
کد HTML:
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'
یا این
کد HTML:
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 به دلیل تحریم داره این کار را می کنه یا سرورم هک شده؟
-
-
October 17th, 2020, 15:46
#9
عضو انجمن
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه

نوشته اصلی توسط
navid
هر اکانتی که ایجاد میشه سمت دیتا بیس یه یوزر با این هاست میسازه
express.openbill.com
در دیتا بیس mysql، تیبل user
تو لاگ mysql این بود
کد HTML:
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'
یا این
کد HTML:
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 رو پیدا کنید ببینید این سایت در اون بخش اضافه شده قبلا یا خیر.
بخش بولد شده: طبیعتا هیچ سایتی که ایران رو تحریم کرده باشه نمیاد خودش روش رفع دور زدن بده.
-
-
October 17th, 2020, 18:08
#10
پاسخ : اساتید راه حل بگند، سرعت کار با mysql پایینه
نه در این بخش چیزی نیست
Additional MySQL Access Hosts
خوب، مگه گفته شد چرا روشش را نگفته؟
دوستان یه سوال دیگه
چطور می تونیم بدون اینکه به آکانت ها آسیب برسه ماریا دی بی را حذف و مجدد نصب کنیم؟
یا باید کلا سرور و سیپنل از ابتدا نصب بشه؟
-