LINUX.ORG.RU

Сообщения AndreiK

 

MySQL parallel execution for date range count() query do not give performance optimization

DB: MySQL 5.7 Query: ‘SELECT count(*) as COUNT FROM Data d WHERE d.StartDate >= ? AND d.StartDate < ? AND d.EntityID IN (1245) AND d.Condition01 > 0 AND d.Condition02 = ‘abs’ AND (d.Condition03 LIKE ‘%abs%’ OR p.Condition04 LIKE ‘%abs%’);’ Parameters: String start = «2021-12-01 00:00:00»; String end = «2022-04-01 00:00:00»;

On a 200+ millions of rows query executes 20 seconds. If start and date range divide to smaller periods, for example: 2021-12-01 00:00:00 2021-12-02 00:00:00 2021-12-02 00:00:00 2021-12-03 00:00:00 … 2022-03-30 00:00:00 2022-03-31 00:00:00 2022-03-31 00:00:00 2022-04-01 00:00:00 and execute queries with this parameters in parallel results will be obtained in 2 seconds.

Approach works on Server with MySQL 5.6 but does not work on Server with MySQL 5.7.

Is it MySQL inner optimization or can be something else? I do not found any difference between TABLE LOCK. What else can cause the same long execution for count queries in parallel execution as for one query with big date range?

На 200+ миллионов строк запрос выполняется 20 секунд. Если начало и диапазон дат делятся на меньшие периоды, например: 2021-12-01 00:00:00 2021-12-02 00:00:00 2021-12-02 00:00:00 2021-12-03 00:00:00 … 2022-03-30 00:00:00 2022-03-31 00:00:00 2022-03-31 00:00:00 2022-04-01 00:00:00 и выполнять запросы с этими параметрами параллельно результаты будут получены через 2 секунды.

Подход работает на сервере с MySQL 5.6, но не работает на сервере с MySQL 5.7.

Это внутренняя оптимизация MySQL или может быть что-то еще? Я не нашел никакой разницы между TABLE LOCK. Что еще может привести к такому же долгому выполнению запросов count при параллельном выполнении, как и для одного запроса с большим диапазоном дат?

 

AndreiK
()

Крашится Ubuntu 18

Показалось сообщение о забитости памяти, а система зависла во время работы. Выключил кнопкой и включил. В результате ошибка на етапе загрузки https://drive.google.com/file/d/1DpnBG4AQz-emsYFpPtaGn9Rtgb3G50yl/view?usp=drivesdk Попытка восстановить через рекавери мод https://drive.google.com/file/d/1Dt8Y7wFt661IO0RF4UhyxH6Xt99Vhg3n/view?usp=drivesdk На скрине баш версия граба, что с ней делать что б загрузить рекавери мод?

 , ,

AndreiK
()

Проверка системы

Здравствуйте! Не силен в Linux, просканил систему на руткит rkhunter-ом. Ниже лог, показывает варнинги, скажите, есть ли что опасное, если да, то как исправить.

http://pastebin.ubuntu.com/24105287/

 ,

AndreiK
()

Gyazo делает неправильно скриншоты

Тут пишут https://github.com/gyazo/Gyazo-for-Linux#how-to-change-screenshot-tool

Change your Screenshot Command/Tool

Gyazo uses the import (imagemagick) command/tool by default. If you have trouble using Gyazo when taking screenshots, such as it not taking the correct area, a broken image being taken, or something irregular, try changing your screenshot tool following these steps before submitting an Issue.

Change screenshot command with $HOME/.gyazo.config.yml, as shown below.

     

command: gnome-screenshot -a -f

но в домашней папке и близко нет папки или файла с конфигом, поиск не находит.

Как скрипт подправить?

#!/usr/bin/env ruby

require 'net/http'
require 'open3'
require 'openssl'
require 'json'
require 'yaml'

# setting
configfile = "#{ENV['HOME']}/.gyazo.config.yml"
config = {}
if File.exist?(configfile) then
  config = YAML.load_file(configfile)
end

browser_cmd = config['browser_cmd'] || 'xdg-open'
clipboard_cmd = config['clipboard_cmd'] || 'xclip'
clipboard_opt = config['clipboard_opt'] || '-sel clip'
host = config['host'] || 'upload.gyazo.com'
cgi = config['cgi'] || '/upload.cgi'
ua = config['ua'] || 'Gyazo/1.2'
http_port = config['http_port'] || 443
use_ssl = config['use_ssl'] == nil ? 'true' : config['use_ssl']

# get id
idfile = ENV['HOME'] + "/.gyazo.id"

id = ''
if File.exist?(idfile) then
  id = File.read(idfile).chomp
end

# get active window name

active_window_id = `xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | cut -d ' ' -f 5`.chomp
out, err, status = Open3.capture3 "xwininfo -id #{active_window_id} | grep \"xwininfo: Window id: \"|sed \"s/xwininfo: Window id: #{active_window_id}//\""
active_window_name = out.chomp
out, err, status = Open3.capture3 "xprop -id #{active_window_id} | grep \"_NET_WM_PID(CARDINAL)\" | sed s/_NET_WM_PID\\(CARDINAL\\)\\ =\\ //"

pid = out.chomp

application_name = `ps -p #{pid} -o comm=`.chomp
# capture png file
tmpfile = "/tmp/image_upload#{$$}.png"
imagefile = ARGV[0]

if imagefile && File.exist?(imagefile) then
  system "convert '#{imagefile}' '#{tmpfile}'"
else
  command = (File.exist?(configfile) && YAML.load_file(configfile)['command']) || 'import'
  system "#{command} '#{tmpfile}'"
end

if !File.exist?(tmpfile) then
  exit
end

imagedata = File.read(tmpfile)
File.delete(tmpfile)

xuri = ""
if application_name =~ /(chrom(ium|e)|firefox|iceweasel)/
  xuri = `xdotool windowfocus #{active_window_id}; xdotool key "ctrl+l"; xdotool key "ctrl+c"; xclip -o`
end


# upload
boundary = '----BOUNDARYBOUNDARY----'

metadata = JSON.generate({
  app: active_window_name,
  title: active_window_name,
  url: xuri,
  note: "#{active_window_name}\n#{xuri}"
})

data = <<EOF
--#{boundary}\r
content-disposition: form-data; name="metadata"\r
\r
#{metadata}\r
--#{boundary}\r
content-disposition: form-data; name="id"\r
\r
#{id}\r
--#{boundary}\r
content-disposition: form-data; name="imagedata"; filename="gyazo.com"\r
\r
#{imagedata}\r
--#{boundary}--\r
EOF

header ={
  'Content-Length' => data.length.to_s,
  'Content-type' => "multipart/form-data; boundary=#{boundary}",
  'User-Agent' => ua
}

env = ENV['http_proxy']
if env then
  uri = URI(env)
  proxy_host, proxy_port = uri.host, uri.port
else
  proxy_host, proxy_port = nil, nil
end
https = Net::HTTP::Proxy(proxy_host, proxy_port).new(host,http_port)
https.use_ssl = use_ssl
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.verify_depth = 5
https.start{
  res = https.post(cgi,data,header)
  url = res.response.body
  puts url
  if system "which #{clipboard_cmd} >/dev/null 2>&1" then
    system "echo -n '#{url}' | #{clipboard_cmd} #{clipboard_opt}"
  end
  system "#{browser_cmd} '#{url}'"

  # save id
  newid = res.response['X-Gyazo-Id']
  if newid and newid != "" then
    if !File.exist?(File.dirname(idfile)) then
      Dir.mkdir(File.dirname(idfile))
    end
    if File.exist?(idfile) then
      File.rename(idfile, idfile+Time.new.strftime("_%Y%m%d%H%M%S.bak"))
    end
    File.open(idfile,"w").print(newid)
  end
}

 ,

AndreiK
()

ESET NOD32 for LINUX

Установил на Ubuntu 14.04. Антивирус не стартует.Попробовал завести по инструкции http://support.eset.com/kb3723/?locale=en_US , но

andrei@localhost:~$  /opt/eset/esets/bin/esets_gui
error[24c30000]: Демон не запущен

Создал по инструкции eset.service, пытаюсь его включить через этот сервис по инструкции

andrei@localhost:~$  sudo systemctl start eset
[sudo] password for andrei: 
sudo: systemctl: command not found
andrei@localhost:~$ update-rc.d eset enable
update-rc.d: /etc/init.d/eset: file does not exist

Как запустить этот сервис и сам антивирусник?

 ,

AndreiK
()

JDeveloper/ OracleSQL Ubuntu error connection

После установки JDeveloper на Ubuntu14.04 при попытке создания соединения с базой ошибка соединения - Test failed: IO Error: The Network Adapter could not establish the connection http://i.piccy.info/i9/a92aba70d23552b949eda275f4399128/1469961094/179695/105...

Параметры соединения:

User Name : hr Password : hr

Hostname : localhost Port : 1521 SID :XE

Гугл подсказывает проверить

Tell us your listener.ora and tnsnamed.ora.

но не ясно где их найти, а через поиск файлы не находятся

andrei@localhost:~$ lsnrctl status
lsnrctl: команда не найдена
andrei@localhost:~$ sqlplus64
sqlplus64: команда не найдена

http://i.piccy.info/i9/1414733a9cdd3de78ee691a9ac65ece4/1469962832/115797/105...

C SQLDeveloper та же ошибка http://i.piccy.info/i9/99c95bb5de90589a4b8b9623d07f347b/1469967931/182067/105...

 

AndreiK
()

Нужна помощь с настройкой ssl сертификата.

Веб сервер: Glassfish 5 Центр сертификации: startssl.com

1. Генерирую ключ с алиасом kidstore.ml в keystore.jks.

keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
Терминал
andrei@kidstore:~/glassfish5/glassfish/domains/domain1/config$ keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
What is your first and last name?
  [Unknown]:  kidstore.ml
What is the name of your organizational unit?
  [Unknown]:  kidstore.ml
What is the name of your organization?
  [Unknown]:  kidstore.ml
What is the name of your City or Locality?
  [Unknown]:  Kremenchuk
What is the name of your State or Province?
  [Unknown]:  Poltava Region
What is the two-letter country code for this unit?
  [Unknown]:  UA
Is CN=kidstore.ml, OU=kidstore.ml, O=kidstore.ml, L=Kremenchuk, ST=Poltava Region, C=UA correct?
  [no]:  yes

2. Делаю сертификат kidstore.csr из сгенерированого выше ключа.

keytool -certreq -alias kidstore.ml -file "/home/andrei/kidstore.csr" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

Содержимое сертификата (расшифровку можно посмотреть здесь https://www.sslshopper.com/csr-decoder.html или на скрине ниже)

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC8jCCAdoCAQAwfTELMAkGA1UEBhMCVUExFzAVBgNVBAgTDlBvbHRhdmEgUmVnaW9uMRMwEQYD
VQQHEwpLcmVtZW5jaHVrMRQwEgYDVQQKEwtraWRzdG9yZS5tbDEUMBIGA1UECxMLa2lkc3RvcmUu
bWwxFDASBgNVBAMTC2tpZHN0b3JlLm1sMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
gVIr6ZeyjxDIwuhGKd22syPzGElUwoFAZ2gDGFi+P2fHFAWNXHv2LgZ4+k6URWNUL+XogEWThiUd
iUR17CUs+a/8qwFr2MTL1dku7c3XhDP2ft+FApRipf7xo1Vhd/5pn47y/NNMbqasWUV9hukJKcD3
bWqIUSiTYHHCSZerCA5QWJx2d1ORRfePGHTJEuYp+9PPuZFGTr3aoE+bkg5esTeR1toH+hd3qENM
qBk7GKY08gbrWpNVfkdGk06iewIbg+/WhrUDXr5y31XD8gZXo9QIcJ8plDtWrEKlMPGlx82NSnGE
MbdJSX/ygFZfHXAONYJ4fAfREg9MVtEh3tCtoQIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNV
HQ4EFgQUrKj0ADf9rLG4VPEYi0OM/X6B9TgwDQYJKoZIhvcNAQELBQADggEBACs8I/hiZ4O7DNDx
WZOMOJPt54s1Ojr2/O9z2UT7H96ETuEbu2gueCUB5RRVmlMMn3aaFvwzA3iLT/9eZMfiir+JYz5z
mYwjz9M291ET72SiwwyfWHZJcd8KHCZMeeAK6OQdcXvU4KW3YYK/1pXDeuWxaLXe2HD8Ea4Mu7/i
la0JKOIc6aHzmx1kgTvmb+gFy2r0OBFV7nocI07DDPlLCcFlZzIKto1ojIOq+b/lh02W13bpAAUS
bK0UttQnaH1ur9it9bQaQfYoNZtFnzSTvkZdlcY2aLjdwLzRxNExo8aIRoGATx/jn7g33WDO9gVN
gTOsFK0Y2JEacXlZh/XVusY=
-----END NEW CERTIFICATE REQUEST-----
http://rghost.net/8ljJyFSmV.view

3. В центре сертификации вставляю этот сертификат. http://rghost.net/85JJZkBR2.view

4. Присылают архив с тремя файлами: - root.crt - 1_Intermediate.crt - 2_kidstore.ml.crt http://rghost.net/6rGPnnTGw.view

5. Добавляю первые два в cacerts.jks, третий в keystore.jks

keytool -import -alias root -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/cacerts.jks" -trustcacerts -file "/home/andrei/startssl/root.crt"
keytool -import -alias intermediate -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/cacerts.jks" -trustcacerts -file "/home/andrei/startssl/1_Intermediate.crt"

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
первые две вставки проходят успешно, на третей вставке получаю ошибку
keytool error: java.lang.Exception: Failed to establish chain from reply

Нашел такую тему http://stackoverflow.com/questions/22203627/glassfish-3-and-import-signed-ssl... с той же ошибкой

добавляю в keystore.jks root.crt

keytool -import -v -trustcacerts -alias root -file "/home/andrei/startssl/root.crt" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

повторно добавляю 2_kidstore.ml.crt в keystore.jks

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
та же ошибка
keytool error: java.lang.Exception: Failed to establish chain from reply

методом тыка понимаю что проблема в дубликации алиаса kidstore.ml в keystore.jks. Во всех мануалах пишут о необходимости соответствия алиаса с именем файла.

Меняю этот keystore.ml на нульцевый. В чистый keystore.jks добавляю

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
keytool -import -v -trustcacerts -alias root -file "/home/andrei/startssl/root.crt" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

Далее открываю domain.xml и во всем файле меняю имя стандартного сертификата s1as на kidstore.ml, включаю Glassfish, сайт не открывается, mozilla пишет Secure Connection Failed, chrome пишет ERR_CONNECTION_CLOSED. В логах Glassfish-а пусто.

Снова удаляю keystore.jks. Добавляю самоподписной сертификат

keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
Терминал
andrei@kidstore:~$ keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
What is your first and last name?
  [Unknown]:  kidstore.ml
What is the name of your organizational unit?
  [Unknown]:  kidstore.ml
What is the name of your organization?
  [Unknown]:  kidstore.ml
What is the name of your City or Locality?
  [Unknown]:  Kremenchuk
What is the name of your State or Province?
  [Unknown]:  Poltava Region
What is the two-letter country code for this unit?
  [Unknown]:  UA
Is CN=kidstore.ml, OU=kidstore.ml, O=kidstore.ml, L=Kremenchuk, ST=Poltava Region, C=UA correct?
  [no]:  yes

На самоподписном, по сути, таком же сертификате работает.

Добавление к самоподписному в keystore.jks

keytool -import -alias root -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/root.crt"
keytool -import -alias intermediate -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/1_Intermediate.crt"
проблемы сертифицированности не решает.

При добавлении в keystore.jks и cacerts.jks всех трех сертификатов, сайт не отображается. Перед созданием темы искал ответ в гугле, вот статьи, но они или устаревшие или по-сути описывают выше проделаное, возможно они помогут.

http://www.axian.ru/blogs/weirdscience/how-to-add-an-existing-ssl-certificate...

https://askubuntu.com/questions/587683/glassfish-ssl-console-handshake-except...

http://stackoverflow.com/questions/12860289/import-ssl-certificate-in-glassfish

http://virtualmarc.info/glassfish-startssl-zertifikate/

http://chaosben.blogspot.com/2012/11/glassfish-3-ssl-mit-kostenlosem.html

Что делать?

 , ,

AndreiK
()

lenovo z570 59317892 матрица экрана

Здравствуйте! Являюсь владельцем данного ноутбука, провожу 8+ часов за ним практически ежедневно, но экран глянцевый, очень бликует, забивал до появления проблем со зрением. С целью поберечь глаза, подумал наклеить матовую пленку, позвонил в магазин проконсультироваться, сказали цветопередача в разы упадет да и качество изображения тоже, советуют менять на матовую матрицу. Посмотрев на сайтах-магазинах, предполагаю что матрица монитора TFT+LED(светодиодная подсветка) типа SAMSUNG LTN156AT16,вопрос стоит ли клеить пленку на такую матрицу или нет? Что за матрицу можно установить на данную модель ноутбука?

Краткие характеристики
Экран 15.6'' (1366x768) LED, глянцевый / Intel Core i7-2670QM (2.2 ГГц) / RAM 6 ГБ / HDD 750 ГБ / nVidia GeForce GT 540M, 2 ГБ / DVD+/-RW / LAN / Wi-Fi / Bluetooth / веб-камера / DOS / 2.6 кг
Экран
15.6" (1366x768) WXGA HD
Процессор
Четырехъядерный Intel Core i7-2670QM (2.2 ГГц)
Объем оперативной памяти
6 ГБ
Тип оперативной памяти
DDR3
Графический адаптер
Дискретный, nVidia GeForce GT 540M, 2 ГБ выделенной видеопамяти
Объём накопителя
750 ГБ
Сетевые адаптеры
Wi-Fi 802.11 b/g/n
Bluetooth
Gigabit Ethernet
Оптический привод
DVD+/-RW
Дополнительные возможности
Веб-камера 2.0 Мп
Встроенный микрофон
Разъемы и порты ввода-вывода
3 порта USB 2.0 / USB 2.0/eSATA / VGA / HDMI / LAN (RJ-45) / микрофонный вход / выход на наушники / кард-ридер 5-в-1
Операционная система
DOS
Характеристики батареи
Литий-ионная, 6-ти ячеечная
Габариты (Ш х Г х В)
376 x 250 x 20~35.5 мм
Вес
2.6 кг

 ,

AndreiK
()

RSS подписка на новые темы